【问题标题】:How to disable HTML effect in a tag but not the HTML [duplicate]如何禁用标签中的 HTML 效果而不是 HTML [重复]
【发布时间】:2015-02-20 19:03:02
【问题描述】:

在使用 PHP 制作发布功能时,我意识到任何人都可以使用标签发布他们的文本。例如。 <b> What's Up</b> 甚至 <marquee>Look, moving</marquee> 。当这些类型的数据将被打印时,它会影响帖子内部。喜欢<b> 会使帖子变粗。必须有一个 html tag 或带有 PHPJavascript 的方式来禁用标签内的 html。

我很清楚strip_tags(),但是这个函数去掉了ex的标签。 <b>blah blah</b> 将显示为 blah blah,但我希望它显示为 <b> blah blah<b>,而不是它会导致的 HTML 效果。

【问题讨论】:

标签: javascript php html


【解决方案1】:

使用strip-tags 函数。 比如:

<?php
strip_tags($content, '');
?>

第二个参数是允许的标签。

要显示 html 但不运行它,请使用 &lt;pre&gt; 标签和 CDATA:

<pre><![CDATA[
<b>Blah Blah</b>
]]></pre>

很遗憾,这只适用于XHTMLXML

另一种选择。并且可能是最可行的,是&lt;xmp&gt;: http://jsfiddle.net/8yfghmL9/

【讨论】:

  • 再看一遍,我已经编辑了问题。
  • 1) 有必要使用&lt;pre&gt; 标签和&lt;![CDATA[ ]&gt; 2) &lt;xmp&gt; 更兼容吗? 3)&lt;xmp&gt; 有自己的风格吗,就像&lt;h1&gt;&lt;p&gt; 标签一样。
  • 在某些浏览器中使用&lt;pre&gt; 标签是必要的。然而,这仍然只适用于XHTML。但是,大多数现代浏览器都支持&lt;xmp&gt;。所以,是的,我会选择&lt;xmp&gt;
  • 3) 是否有自己的风格,就像 <h1> 或 </h1> <p> 标签一样?</p>
  • 没有。是基础文字。您可以将其全部包含在 div 中,并根据需要设置任何样式。
【解决方案2】:

你可以使用

<?php
    echo strip_tags("Hello <b>world!</b>"); 
?>

这将剥离标签.. 并为您提供纯文本...

【讨论】:

    猜你喜欢
    • 2011-07-20
    • 1970-01-01
    • 2021-12-16
    • 2012-12-17
    • 2014-01-09
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 2011-06-19
    相关资源
    最近更新 更多