0

使用带有默认配置的最新版本的 HTMLPurifier。

下面的代码将在 PHP 中导致非常可爱的空白页面。我错过了什么吗?即使我将 HTML.TidyLevel 设置为light或者none它仍然会中断。以下是尝试净化以下代码时引发的错误的部分日志:http: //pastie.org/private/13f0htscq0v8bhhlt7dpg

作为参考,这是我用来执行此操作的相关代码:

$config = new HTMLPurifier_Config(new HTMLPurifier_ConfigSchema());
$config->set('HTML.TidyLevel', 'light'); // breaks with any level, even 'none'
self::$pure = new HTMLPurifier($config);
self::$pure->purify($str); // $str contains the code below

最后,有问题的代码:

<code>
<style type="text/css">
.block {
    position: relative;
}

.block h2 a span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    outline: 1px dashed #000;
}
</style>

<div class="block">
<h2><a href="#"><span></span>Title of block</a></h2>
<p>This entire block is clickable</p>
<ul>
    <li>Use</li>
    <li>Any</li>
    <li>Markup you like</li>
</ul>
<div>Even more divs!</div>
<p>without worrying about whether the element is allowed to be a child of an anchor</p>
</div>
</code>
4

1 回答 1

0

删除您的 htmlpurifier 目录并从 tarball 安装新副本。

于 2010-07-20T17:15:53.157 回答