【问题标题】:PHP - Removing the effect of HTML tags in string - BUT displaying them as well?PHP - 删除字符串中 HTML 标记的效果 - 但也显示它们?
【发布时间】:2011-02-16 02:16:55
【问题描述】:

考虑strip_tags()

strip_tags("<b>TEXT</b>");

输出:

文字

但是如果我想取消标签的效果但同时显示它们呢?

输出:

文本

我必须使用preg_replace() 吗?还是有更优雅的解决方案可用?

谢谢:D

【问题讨论】:

    标签: php html replace tags strip


    【解决方案1】:

    你可以使用如下的textarea标签:

    <textarea rows="5" cols="20"><?php echo "<b>Text<b>"; ?></textarea>
    

    【讨论】:

      【解决方案2】:

      您可以使用htmlspecialcharshtmlentities 轻松地将字符转换为其HTML 实体。请务必查看 PHP 手册以确定最适合您的数据的内容,因为这两个函数的操作方式略有不同。

      然后您可以使用 htmlspecialchars_decodehtml_entity_decode 反转编码 - 再次检查哪个最适合您的数据。

      【讨论】:

      • htmlspecialchars 是其中唯一一个可用的函数
      • 什么意思?它们都是有效的 PHP 函数,并且每个都有其用途。也许 OP 确实只需要htmlspecialchars,但这并不会使其他功能在类似情况下的用处失效。
      【解决方案3】:

      您可以通过 htmlspecialchars 对字符串进行 HTML 编码:

      htmlspecialchars("<b>TEXT</b>");
      

      【讨论】:

        【解决方案4】:

        您总是可以将&amp;lt; 替换为&amp;lt; 并将&amp;gt; 替换为&amp;gt;,是吗?

        【讨论】:

        • 这是否也消除了在第一个地方使用 strip_slashes 的需要?
        • @wretrOvian strip_tags 你的意思是?这取决于你。
        猜你喜欢
        • 1970-01-01
        • 2010-09-19
        • 2017-09-06
        • 2022-07-21
        相关资源
        最近更新 更多