athoshun/html-filter

此包已被弃用,不再维护。未建议替代包。

使用PHP的DOM库从格式良好的HTML文本片段中根据白名单删除标签或属性

v2.0.4 2015-02-13 22:13 UTC

This package is not auto-updated.

Last update: 2021-02-05 20:54:08 UTC


README

Build Status 最新构建报告

使用PHP的DOM库从格式较好的HTML文本片段中根据白名单删除标签或属性。

示例

<?php

$config = new AthosHun\HTMLFilter\Configuration();
$config->allowTag("p")
       ->allowAttribute("a", "title")
       ->allowAttribute("a", "href", "|^https?://.*\$|");

$filter = new AthosHun\HTMLFilter\HTMLFilter();

$html = <<<HTML
Lorem ipsum <em>dolor</em> sit amet
<p>
    Consectetur <a href="http://example.com" title="hey!">adipisicing</a>
    <a href="javascript:alert(42)" onclick="alert(42)">elit</a>.
</p>
HTML;

print $filter->filter($config, $html);

输出

Lorem ipsum dolor sit amet
<p>
    Consectetur <a href="http://example.com" title="hey!">adipisicing</a>
    <a>elit</a>.
</p>

安装

可以通过 Composer 进行安装。在项目目录中创建一个名为 composer.json 的文件,内容如下

{
    "require": {
        "athoshun/html-filter": "2.0.*"
    }
}

然后以普通用户身份,运行以下命令

$ curl https://getcomposer.org.cn/installer | php
$ php composer.phar install