我有评论框。如果我输入类似的内容
aa @Martins <aabb>
在数据库中,我将其保存为:
aa <span class="highlight" contenteditable="false">@Martins Vilskersts</span> <aabb><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?]
答案 0 :(得分:0)
使用此:
只需将<
替换为<
;和>
>
;
保持中间位置:
&#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的部分。