我的数据库中有文本要显示在页面上。我的DB内容包含不同的标签,例如。 <html><b></b><help>
(因为允许用户使用任何类型的标签)等。
当我显示页面内容时,我希望将<br>
标签解码为空格,而其他标签应保持为普通文本。
拜托,我该怎么办呢?
答案 0 :(得分:3)
$content = preg_replace('/<br\s?\/?>/', ' ', $content);
echo html_entity_decode($content);
如果您希望将<br>
转换为空格,然后将所有HTML与其实体一起显示。
如果我误解了您的问题,并且不希望HTML与其等效实体一起显示,请跳过html_entity_decode()
函数。
您对OP的评论现在表示您希望<br>
成为换行符,因此只需将preg_replace()
的第二个参数从' '
切换为"\n"
即可。
<br>
实际上是换行符(即未编码)?好吧,如果您为<br>
切换\n
,并且没有其他换行符,那么您可以在最终标记上放一个快速且脏的nl2br()
。
好的,只需执行此操作即可将已编码的<br>
恢复为文字<br>
。
echo str_replace('<br>', '<br>', $content);