不要在输入值中处理html

时间:2016-11-24 08:50:43

标签: php html mysql

我的mysql表中有一个包含html代码的条目:

<p>Hello!</p>

当我想要显示echo $entry时显示正常

但是当我将echo $entry放在textarea的值中时,它会执行代码而不是显示它。

有没有办法阻止代码执行并显示代码或转换为&lt;&gt;

以下是代码:

echo "<label for=\"details\">Details:</label><textarea id=\"details\" cols=\"60\" rows=\"10\" name=\"details\" value=\"" . $row["details"]."\"></textarea>";

这是条目:

<p><ol><li>HKCU/Software/Microsoft/Windows/NT/CurrentVersion/WindowsLegacy/DefaultPrinterMode<li> Set to 0 (on)</ol>

3 个答案:

答案 0 :(得分:0)

我认为这会做到这一点

<textarea><?php echo  $row['details'];?></textarea>

答案 1 :(得分:0)

尝试保存数据

ascii_to_entities($this->input->post('ur_textara_name'));

并在展示时

entities_to_ascii()

答案 2 :(得分:0)

你必须逃避特殊字符。您可以使用htmlspecialchars()执行此操作。

更重要的是,您不应该为textarea设置值,而是将其写入其内容:

<textarea>
<?php /* some code here */ ?> 
</textarea>