bnomei / kirby3-htmlpurifier
静态类方法、Uniform-Guard 和 Field-Method 用于过滤您的“脏”HTML输入到“干净”的HTML。
1.0.3
2023-04-20 07:14 UTC
Requires
- php: >=7.3.0
- ezyang/htmlpurifier: ^4.12
- getkirby/composer-installer: ^1.1
Requires (Dev)
- getkirby/cms: ^3.2
- mzur/kirby-uniform: ^4.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^8.3
Suggests
- getkirby/kql: Use this plugin with KQL to make sure you html from fields is valid (like for Vue v-html).
- mzur/kirby-uniform: Use this plugin with Uniform to purify you html inputs.
This package is auto-updated.
Last update: 2024-09-20 10:14:04 UTC
README
静态类方法、Uniform-Guard 和 Field-Method 用于过滤您的“脏”HTML输入到“干净”的HTML。
如果您觉得 strip_tags 和 PHP 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>
,...)和属性(srcset
,sizes
,data-*
,x-*:
,@*:
,...)将被删除!
KQL 查询
{ "query": "page('photography')", "select": { "url": true, "title": true, "textWithPurifiedHtml": "page.text.kirbytext.htmlPurify" } }
示例:Vue
<div v-html="textWithPurifiedHtml"></div>
设置
依赖
免责声明
此插件按“原样”提供,不提供任何保证。请自行承担使用风险,并在将其用于生产环境之前自行测试。如果您发现任何问题,请创建新问题。
许可
不建议在任何宣传种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式仇恨言论的项目中使用此插件。