有人可以帮我建立使用HTML Purifier 4.2.0的IRC URI Scheme吗?我似乎无法弄清楚如何配置或修改哪些文件,以便纯化的html允许irc://链接。
我可以在以下代码块中修改配置吗?
require_once "htmlpurifier-4.2.0/library/HTMLPurifier.standalone.php";
$purifier_config = HTMLPurifier_Config::createDefault();
$purifier_config->set("HTML.Doctype", "XHTML 1.0 Strict");
$purifier = new HTMLPurifier($purifier_config);
更新
我编辑了库/ standalone / HTMLPurifier / ConfigSchema / schema.ser,将“4:nntp”的两个实例更改为“3:irc”,发现错误:
警告:目录htmlpurifier-4.2.0 / library / standalone / HTMLPurifier / DefinitionCache / Serializer / URI不可写,请chmod到777
我相信这有助于在进行此更改后建立对IRC URI Scheme的支持。我稍后会报告。
嗯,在使其可写之后,没有出现错误,但没有结果= \
答案 0 :(得分:1)
HTML Purifier似乎没有对IRC方案的本机支持。但是:你尝试过这样的事吗?将其放在/library/HTMLPurifier/URIScheme
中,或以其他方式确保自动加载找到它:
class HTMLPurifier_URIScheme_irc extends HTMLPurifier_URIScheme {
public $default_port = 6667;
public $browsable = false;
public function validate(&$uri, $config, $context) {
if (parent::validate($uri, $config, $context) === false) {
return false;
}
if (!is_null($uri->path)) {
// get channel name
$uri->path = array_shift(explode('/', $uri->path));
}
$uri->userinfo = null;
$uri->query = null;
$uri->fragment = null;
return true;
}
}
...并使用...
更改您的配置$purifier->config->set(
'URI.AllowedSchemes',
array('irc' => true, /* ... other schemes here ... */)
);
这可能无法开箱即用,但我认为这应该是正确的方向......