2

HTML Purifier 4.2.0 で IRC URI スキームを使用して確立するのを手伝ってくれる人はいますか? 精製された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);

アップデート:

library/standalone/HTMLPurifier/ConfigSchema/schema.ser を編集して、「4:nntp」の両方のインスタンスを「3:irc」に変更したところ、エラーが見つかりました:

警告: ディレクトリ htmlpurifier-4.2.0/library/standalone/HTMLPurifier/DefinitionCache/Serializer/URI は書き込み可能ではありません。777 に chmod してください

これは、この変更を行った後、IRC URI スキームのサポートを確立するのに役立つと思います。少ししたらまた報告します。

うーん、書き込み可能にしてからエラーは出ませんでしたが、結果はありません=\

4

1 に答える 1

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 ... */)
);

それはそのままではうまくいかないかもしれませんが、それが正しい方向であるべきだと私は考えています...

于 2011-02-22T12:58:53.307 に答える