php整理的替代方案?

lau*_*kok 7 php tidy htmltidy

我使用php tidy来处理我的数据库中的html输入,

$fragment = tidy_repair_string($dom->saveHTML(), array('output-xhtml'=>1,'show-body-only'=>1));
Run Code Online (Sandbox Code Playgroud)

我在我的服务器上打开了这个php_tidy但我的实时服务器不支持整洁,

致命错误:在第587行的/customers/0/5/a/mysite.com/httpd.www/models/functions.php中调用未定义的函数tidy_repair_string()

我可以解决这个问题吗?

Jus*_*tin 8

我发现htmLawed非常快.我在寻找HTMLPurifier的替代品时发现了它,这非常慢.


Fla*_*ken 6

或者只是传递DOMDocument对象:

$dirty = "<xml>some content</xml>"
$x = new DOMDocument;
$x->loadHTML($dirty);
$clean = $x->saveXML();
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,救了我.仅供参考`libxml_use_internal_errors(true);`将禁止错误HTML生成的php警告. (2认同)

Nig*_*Owl 5

如果您使用的是RedHat/CentOS/Fedora Linux机箱并具有对服务器的root访问权限,则可以运行...

yum install php-tidy
Run Code Online (Sandbox Code Playgroud)

作为根.然后重启apache,这应该让你去.

可能存在需要添加的缺少依赖项的错误,但通常上述命令将是您所需要的.

其他发行版将有略微不同的命令,但应该有类似的东西.

在Windows上,您需要手动安装它.说明可以在这里找到... http://devzone.zend.com/article/761#Heading3


Chr*_*ner 4

HTML Purifier可以将 HTML 重写为符合标准,如 HTML Tidy。如果您需要过滤该输入以防止 XSS 等,它也会这样做。

它都是 PHP,所以您应该能够在任何服务器上使用它。