你应该打开错误报告;让开发人员更容易!
ini_set('display_errors', true);
error_reporting(E_ALL & ~E_NOTICE); // or E_ALL if you're feeling good
修复一系列错误(定稿后无法编辑配置意味着在gethtmldefinition之前需要进行所有配置;不推荐使用的API意味着您应该更改配置集格式,但这是无害的),然后得到一个空字符串。然后,您需要确保您的新元素在其他人的允许元素中,一个简单的方法是将它们标记为内联。我怀疑allowedElements属性是您想要的,因为它将排除所有其他元素…
<?php
require_once 'library/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$config->set('Core.Encoding', "UTF-8");
$config->set('HTML.DefinitionID', 'pinaki-test');
$config->set('HTML.DefinitionRev', 3);
$config->set('Cache.DefinitionImpl', null); // remove this later!
$config->set('Cache.SerializerPath', "/var/cache/htmlpurify");
$config->set('HTML.AllowedElements', array("tag1", "tag2"));
$def = $config->getHTMLDefinition(true);
$def->addElement("tag1", 'Inline', 'Empty', 'Common', array());
$def->addElement("tag2", 'Inline', 'Empty', 'Common', array());
$purifier = new HTMLPurifier($config);
echo $purifier->purify('<tag1>asf');