如果HTMLPurifier无法解析字符串,则返回错误?

问题描述 投票:0回答:1

我似乎无法弄清楚PHP库中最基本的部分。你如何检查它是否返回错误?

我正在使用一个名为HTMLPurifier的库来清理数据库的用户html输入,这就是启动的样子:

require_once '/path/to/HTMLPurifier.auto.php';

$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);

如何检查净化器是否做了任何事情或返回错误?就像是

if (!$clean_html) {
   echo 'Error occured: '.$purifier->error;
}
php html htmlpurifier
1个回答
1
投票

根据您希望系统报告的错误类型,Core.CollectErrors指令可能是您正在寻找的:

是否收集过滤文档时发现的错误。这是向用户提供反馈的有用方式。警告:目前此功能非常不完整且具有实验性,许多可能的错误消息尚未实现。它不会导致任何问题,但它也可能对您的用户没有帮助。

你会像这样使用它:

require_once '/path/to/HTMLPurifier.auto.php';

$config = HTMLPurifier_Config::createDefault();
$config->set('Core', 'CollectErrors', true);
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);

$error_collector = $purifier->context->get('ErrorCollector');
echo $error_collector->getHTMLFormatted($config);

您可以在此示例脚本中看到正在使用的错误集合:https://repo.or.cz/htmlpurifier-web.git/blob/b4f116b5aebdc688e6e4b458d5a790add6282cd5:/demo.php

看看你需要的是什么?

© www.soinside.com 2019 - 2024. All rights reserved.