gpt4 book ai didi

php - 使用 htmlpurifier 向标签添加属性

转载 作者:搜寻专家 更新时间:2023-10-31 20:45:19 25 4
gpt4 key购买 nike

我正在尝试使用 HTMLPurifier 通过向段落添加类属性来转换 HTML。

例如,对于这个输入 HTML:

<p>This is a paragraph</p>
<p>Another one</p>

这将是输出:

<p class="myclass">This is a paragraph</p>
<p class="myclass">Another one</p>

我阅读了该网站上的文档和一些论坛帖子,但我无法弄清楚我应该怎么做?

提前致谢。

最佳答案

这是一个您可以自己测试的快速而简单的示例:

<?php

require_once 'lib/library/HTMLPurifier.auto.php';

class HTMLPurifier_AttrTransform_AnchorClass extends HTMLPurifier_AttrTransform
{
public function transform($attr, $config, $context)
{
// keep predefined class
if (isset($attr['class']))
{
$attr['class'] .= ' myclass';
}
else
{
$attr['class'] = 'myclass';
}

return $attr;
}
}

$dirty_html = '<a href=""></a>
<a target="_blank" href=""></a>
<a href="" class="toto"></a>
<a href="" style="oops"></a>';

$config = HTMLPurifier_Config::createDefault();
$htmlDef = $config->getHTMLDefinition(true);

$anchor = $htmlDef->addBlankElement('a');
$anchor->attr_transform_post[] = new HTMLPurifier_AttrTransform_AnchorClass();

$purifier = new HTMLPurifier($config);

$clean_html = $purifier->purify($dirty_html);

var_dump($clean_html);
It outputs:

string '<a href="" class="myclass"></a>

<a href="" class="myclass"></a>

<a href="" class="toto myclass"></a>

<a href="" class="myclass"></a>' (length=135)

关于php - 使用 htmlpurifier 向标签添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14039745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com