0

我想知道为什么我的代码中出现“解析错误:语法错误,意外的 T_VARIABLE,需要 T_STRING”,这会将 HTML 从 MySQL 数据库中提取出来,将 < 和 > 替换为实体(<、>)和将其输入到文本区域(CKEditor)。这是代码的那部分:

<textarea name="editor1">
          <?php
            //QUERY DATABASE
            $query1 = "SELECT * FROM users WHERE ID = '" . $id . "'";
            $resource1 = mysql_query($query1, $database);
            $result1 = mysql_fetch_assoc($resource1);
            $rawcode = $result['code'];\
            $code1 = str_replace("<", "&lt;", "$rawcode");
            $code = str_replace(">", "&gt;", "$code1");
            echo $code1;          
          ?>
    <!--&lt;p&gt;Create your page here.&lt;/p&gt;-->
</textarea>
4

5 回答 5

1

你在行尾有一个额外的“\”

$rawcode = $result['code'];\

去掉它

于 2013-09-12T01:47:38.133 回答
0

不要尝试自己转义 HTML,请改用 htmlspecialchars() 。

于 2013-09-12T01:47:16.900 回答
0

您的代码中有语法错误:替换

 $rawcode = $result['code'];\

 $rawcode = $result['code'];

您可以使用htmlspecialchars () 替换您的 html。

代替:

$code1 = str_replace("<", "&lt;", "$rawcode");
$code = str_replace(">", "&gt;", "$code1");

和:

$code = htmlspecialchars($rawcode);
于 2013-09-12T01:47:23.780 回答
0
$rawcode = $result['code'];\

反斜杠是 php 中的转义字符,并在下一行转义 $。PHP 解析$code1为此处不允许的字符串。

你也不应该在 "" 中使用 $rawcode 和 $code1,因为它只会稍微减慢执行速度。

于 2013-09-12T01:51:45.633 回答
0

你有两个错误。

第一个是来自的 $result 变量$rawcode = $result['code'];\$result不存在。你调用了那个变量$result1

第二个,是\结尾的$rawcode = $result['code'];\。您必须删除它。

结束代码是$rawcode = $result1['code'];

我注意到的另一个错误,最后一条语句,echo $code1;应该是echo $code;因为$code包含您使用str_replace.

于 2013-09-12T01:53:34.403 回答