如何在textarea中显示实际的HTML代码而不是呈现HTML?

时间:2015-02-26 11:04:42

标签: html mysql

我有一个代码可以从textarea中保存(html代码)和mysql中的某些文本。 然后我从mysql中获取文本并将其显示在textarea下。问题是如果我保存代码

<div style="color:red">Hello</div> 
在mysql中

然后显示它,我看到红色的Hello,但我想看到实际的

<div style="color:red">Hello</div>

出现在textarea下面。我希望你能理解我的问题。

3 个答案:

答案 0 :(得分:0)

所以,当您从数据库中获取数据时,您想要实际显示html,而不是呈现html的页面?

如果是这样,只需使用php函数htmlentities();

答案 1 :(得分:0)

您可以使用xmp元素,请参阅用于标记的内容。它从一开始就是HTML,并且得到所有浏览器的支持。规格不屑一顾,但HTML5 CR仍然描述它并要求浏览器支持它(虽然它也告诉作者不要使用它,但它不能真正阻止你)。

xmp中的所有内容都是这样的,没有标记(标记或字符引用)在那里被识别,除了明显的原因,元素本身的结束标记,。

否则xmp将呈现为pre。

当使用“真正的XHTML”时,即XHTML使用XML媒体类型(很少见),特殊的解析规则不适用,因此xmp被视为pre。但在“真正的XHTML”中,您可以使用CDATA部分,这意味着类似的解析规则。它没有特殊的格式,因此您可能希望将其包装在pre元素中:

<![CDATA[
This is a demo, tags will
appear literally.
<div style="color:red">Hello</div>
]]>

你可以参考这个问题:https://stackoverflow.com/a/16785992/3000179

答案 2 :(得分:0)

如果您想在浏览器级别执行操作,可以按照以下步骤操作:

  1. 更换&amp;带有&amp;
  2. 的字符
  3. 替换&lt;带有&lt;
  4. 的字符
  5. 替换&gt;带有&gt;
  6. 的字符
  7. 可选择使用<pre>和/或<code>包围您的HTML示例 标签。
  8. 希望这有帮助。