有没有办法让HTML净化器保留在呈现的HTML中通常会看到的隐式空间?
例如,在以下情况下,您通常希望Foo
和Bar
之间有一个空格:
Foo<br/>Bar
例1
<div>Foo</div><div>Bar</div>
例2
我有一个残酷的计划-替换任何标签关闭“
<?php
$text = '<div>test</div><div>me</div>';
$text = preg_replace('/(<\/[a-z]+>)/', '$1 ', $text);
$text = trim(preg_replace('/\s+/', ' ', strip_tags($text)));
var_dump($text);
退换商品
string(7) "test me"
看起来HTMLPurifer没有删除空白,它正在一起删除标记,因为它不识别它们(这很奇怪)。
关于Foo
错误行1第3列:无法识别
关于
错误行1第0列:无法识别
您可以通过在Live Demo上启用CollectError来查看这一点。
也许可以尝试允许div
和br
:http://htmlpurifier.org/live/configdoc/plain.html#HTML.AllowedElements
以下是现场演示的结果: