我有这行会给我一个错误,因为该值包含HTML代码。
document.getElementById(\'longstory\').value = \''.$row['longstory'].'\';
是否有任何简单的方法可以在传递期间对其进行编码,然后在我的值中显示
<textarea class="form-control" id="longstory" name="longstory" placeholder="Longstory"></textarea><br />
最终将它显示为用户的HTML?
答案 0 :(得分:0)
试试这个:
echo "document.getElementById('longstory').value = " . json_encode(html_entity_decode($row['longstory'])) . ";";
html_entity_decode()
将解释值中的HTML实体代码,将它们转换为普通的PHP字符。然后json_encode()
的输出将是值的Javascript语法。
问题不在于它包含HTML,问题是它包含Javascript字符串中不允许的字符,例如未转义的引号和文字换行符。 json_encode
正确编码所有内容。
答案 1 :(得分:0)
在传递给js之前,尝试使用htmlspecialchars和addslashes函数。
document.getElementById(\'longstory\').value = \''.addslashes($row['longstory']).'\';