我想知道为什么我的代码中出现“解析错误:语法错误,意外T_VARIABLE,期待T_STRING”,这会将HTML从MySQL数据库中拉出来,取代<和>使用实体(& lt;,& gt;)并将其输入到textarea(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("<", "<", "$rawcode");
$code = str_replace(">", ">", "$code1");
echo $code1;
?>
<!--<p>Create your page here.</p>-->
</textarea>
答案 0 :(得分:1)
你在行尾有一个额外的“\”
$rawcode = $result['code'];\
将其删除
答案 1 :(得分:0)
请勿尝试自行转义HTML,请改用htmlspecialchars()。
答案 2 :(得分:0)
您的代码中存在语法错误: 取代
$rawcode = $result['code'];\
使用
$rawcode = $result['code'];
您可以使用htmlspecialchars()替换html。
替换:
$code1 = str_replace("<", "<", "$rawcode");
$code = str_replace(">", ">", "$code1");
使用:
$code = htmlspecialchars($rawcode);
答案 3 :(得分:0)
$rawcode = $result['code'];\
反斜杠是php中的escape char,并在下一行中转义$。 PHP将$code1
解析为此处不允许的字符串。
你不应该在$“中使用$ rawcode和$ code1,因为它只会稍微减慢执行速度。
答案 4 :(得分:0)
你有两个错误。
第一个是来自$rawcode = $result['code'];\
的$ result变量。 $result
不存在。您调用了该变量$result1
。
第二个是\
末尾的$rawcode = $result['code'];\
。你必须删除它。
结束代码为$rawcode = $result1['code'];
我注意到的另一个错误,最后一句话echo $code1;
应为echo $code;
,因为$code
包含您对str_replace
所做的最后一次更改。