- 论坛徽章:
- 0
|
我做了一个将html文件格转成js格式的程序,如下。
- <?php
- //传递要修改了文本给变量sing
- if (isset($_POST["zdz_text"])){
- $sing=$_POST["zdz_text"];
- }else{
- $sing="";
- }
- //将文本进行递换
- //判断是否包函双引号
- if (preg_match("/\"/",$sing)){
- $sing=preg_replace("/\"/","\"",$sing);
- }
- //判断是否包函小数点
- if (preg_match("/\./",$sing)){
- $sing=preg_replace("/\./","\.",$sing);
- }
- //判断是否包函等于号
- if (preg_match("/\=/",$sing)){
- $sing=preg_replace("/\=/","\=",$sing);
- }
- //判断是否包函加号
- if (preg_match("/\+/",$sing)){
- $sing=preg_replace("/\+/","\+",$sing);
- }
- //判断是否包函斜杠
- if (preg_match("/{\\}/",$sing)){
- $sing=preg_replace("/{\\}/","\\",$sing);
- }
- //判断是否包函换行符
- if (preg_match("/\r\n/",$sing)){
- $sing=preg_replace("/\r\n/","\");\ndocument.writeln(\"",$sing);
- }
- //判断是否包函<script
- if (preg_match("/<script/",$sing)){
- $sing=preg_replace("/\<script/","<\"+\"script\"+\"",$sing);
- }
- //判断是否包函</script>;
- if (preg_match("/<\/script>;/",$sing)){
- $sing=preg_replace("/\<\/script\>;/","<\"+\"\/script\"+\">;",$sing);
- }
- //判断是否包函<textarea
- if (preg_match("/<textarea/",$sing)){
- $sing=preg_replace("/\<textarea/","<\"+\"textarea\"+\"",$sing);
- }
- //判断是否包函</textarea>;
- if (preg_match("/<\/textarea>;/",$sing)){
- $sing=preg_replace("/\<\/textarea\>;/","<\"+\"\/textarea\"+\">;",$sing);
- }
- $value="<script language=\"JavaScript\" type=\"text/JavaScript\">;\n document.writeln(\"".$sing."\");\n</script>;";
- ?>;
- <form name="form1" method="post" action="">;
- <p align="center">;
- <textarea name="zdz_text" cols="50" rows="15">;
- <?php
- if (isset($_POST["zdz_text"])){
- echo $value;
- }else{
- echo "";
- }
- ?>;
- </textarea>;
- </p>;
- <p align="center">;
- <input type="submit" name="Submit" value="转 换">;
- </p>;
- </form>;
复制代码
但是问题出在。如果你输入一个字符进行了多次换算后就会什么也不显示了。你要是换算的次数少上点它就正常。请问一下这是JS原因还是我写的程序有什么问题。再问一下上面的程序可以将任何html文档都成功转换吗,不会有什么bug吧? |
|