提问者:小点点

HTML净化器保留空间


有没有办法让HTML净化器保留在呈现的HTML中通常会看到的隐式空间?

例如,在以下情况下,您通常希望FooBar之间有一个空格:

Foo<br/>Bar

例1

<div>Foo</div><div>Bar</div>

例2


共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来查看这一点。

也许可以尝试允许divbr:http://htmlpurifier.org/live/configdoc/plain.html#HTML.AllowedElements

以下是现场演示的结果:

相关问题