隐藏几个HTML标签

时间:2014-09-18 15:26:16

标签: php html tags

我有评论框。如果我输入类似的内容

aa @Martins <aabb>

在数据库中,我将其保存为:

aa <span class="highlight" contenteditable="false">@Martins Vilskersts</span>&nbsp;&lt;aabb&gt;<span></span>

现在我用它来表明:

$str = strip_tags(htmlspecialchars_decode(html_entity_decode($my_string_from_database)), '<br><br/>');

//here is some replace for links functionality
$replace = '<a href="javascript:;" class="..." id="..." ></a>';
$str = str_replace($link->tag, $replace, $str);

echo $str;

我得到的结果如下:

aa @Martins

但我希望看到这样:

aa @Martins <aabb> -[with @ functionality, but with some random <aaa><bbb> tags as plain text. Any idea?]

2 个答案:

答案 0 :(得分:0)

使用此:

只需将<替换为&lt;和> &gt;

保持中间位置:

&#39;&安培;&#39; (&符号)变成&amp;

&#39;&#34;&#39; (双引号)成为&#34;当没有设置ENT_NOQUOTES时。

&#34;&#39;&#34; (单引号)成为&#39;仅在设置了ENT_QUOTES时。

&#39;&LT;&#39; (小于)成为&lt;

&#39;&GT;&#39; (大于)变为&gt;

答案 1 :(得分:0)

如果您只是输出存储在数据库中的字符串,而不使用htmlspecialchars_decode,strip_tags,html_entity_encode等,那么它就会正确地输出。

您已经将要查看的部分保存为编码字符,以及应该在数据库中用作原始html的部分。