html标签+ ascii名称和数字

时间:2011-11-03 16:56:22

标签: php mysql

我们的用户希望能够输入

&lt;p&gt;some text goes here.</p> 

保存到数据库,然后按原样输出到屏幕,即浏览器呈现<p>标签而不实际显示<p>标签。

同时不影响用户输入的现有数据库生成的页面

<p>some text goes here.</p> 

这可能吗?

“客户永远是对的”的一个例子。我有选择吗?不,这是他们想要的东西,因为某些原因超出了我。

4 个答案:

答案 0 :(得分:2)

我不确定你要完成什么。如果您希望浏览器在显示标记时呈现标记,则可以使用html_entity_decode

echo html_entity_decode( "&lt;p&gt;some text goes here.</p> ");
echo html_entity_decode( "<p>some text goes here.</p> ");

如果没有,那么您可以将字符串传递给htmlspecialchars

echo htmlspecialchars( "&lt;p&gt;some text goes here.</p> ");
echo htmlspecialchars( "<p>some text goes here.</p> ");

答案 1 :(得分:0)

看看htmlspecialchars()。它将为您排除任何HTML字符。

http://php.net/manual/en/function.htmlspecialchars.php

答案 2 :(得分:0)

答案 3 :(得分:0)

您可以在代码中存储您选择的编码更改的日期,然后您可以使用数据库中每个条目的时间戳(我假设您有一个'created'/'modified'/'timestamp'或类似的字段?)来决定在输出内容时应该使用哪种行为。

或者,您可以编写一个脚本来将数据库中的旧条目更新为新格式(例如,在每个格式上调用htmlspecialchars()html_entity_decode())。