bnomei/kirby3-htmlpurifier

静态类方法、Uniform-Guard 和 Field-Method 用于过滤您的“脏”HTML输入到“干净”的HTML。

1.0.3 2023-04-20 07:14 UTC

This package is auto-updated.

Last update: 2024-09-20 10:14:04 UTC


README

Release Downloads Build Status Coverage Status Maintainability Twitter

静态类方法、Uniform-Guard 和 Field-Method 用于过滤您的“脏”HTML输入到“干净”的HTML。

如果您觉得 strip_tagsPHP Input Filter 不够好,安装一个具有大量代码依赖的插件让您感到烦恼?您愿意在性能上承受打击以使用它?请继续阅读...

商业用途


支持开源!

此插件免费,但如果您将其用于商业项目,请考虑赞助我或捐款。
如果我的工作帮助您赚了一些钱,那么我觉得我可能也应该得到一点回报,对吧?

善良一点。分享一点。谢谢。

- Bruno
 

安装

  • master.zip 解压为文件夹 site/plugins/kirby3-htmlpurifier
  • git submodule add https://github.com/bnomei/kirby3-htmlpurifier.git site/plugins/kirby3-htmlpurifier
  • composer require bnomei/kirby3-htmlpurifier

PHP 使用方法

$cleanHtml = \Bnomei\HtmlPurifier::purify($dirtyHtml);

Uniform-Guard 使用方法

由于插件加载顺序,htmlPurifyGuard 只在通过 composer 安装的此插件中可用。

$form = new \Uniform\Form;

if (kirby()->request()->is('POST')) {

    $form->honeypotGuard() // needs to be called explicitly now
        ->htmlPurifyGuard(); // purified all data

    if ($form->success()) {
        // ...
    }
}

Field-Method 使用方法

$dirtHtml = (string) $page->myfield();
$cleanHtml = (string) $page->myfield()->htmlPurify();
$cleanHtml = (string) $page->myfield()->kirbytext()->htmlPurify();

与 KQL 用于无头

如果您想确保您的无头输出是有效的HTML,您可以对字段进行净化。请注意,这将带来性能损失,因为净化不是一项简单的任务。

⚠️ 所有专有元素(<template>,...)和属性(srcsetsizesdata-*x-*:@*:,...)将被删除!

KQL 查询

{
    "query": "page('photography')",
    "select": {
        "url": true,
        "title": true,
        "textWithPurifiedHtml": "page.text.kirbytext.htmlPurify"
    }
}

示例:Vue

<div v-html="textWithPurifiedHtml"></div>

设置

依赖

免责声明

此插件按“原样”提供,不提供任何保证。请自行承担使用风险,并在将其用于生产环境之前自行测试。如果您发现任何问题,请创建新问题

许可

MIT

不建议在任何宣传种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式仇恨言论的项目中使用此插件。