gpt4 book ai didi

php - 修改 HTML Purifier 中的所有链接

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:02:50 26 4
gpt4 key购买 nike

我正在使用 HTML 净化器来删除所有不必要的/恶意的 html 标签。

$html = 'dirty html provided by user';
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', 'p,a[href], ... other tags);
$purifier = new HTMLPurifier($config);;
$output = $purifier->purify($html);

它真的很好用,但我想做更多。我想改变我所有的 <a href='link'>...</a>到其他类似 <a href='somefunc(link)' rel="nofollow" target="_blank"> ... </a> 的东西.

稍微搜索了一下,找到了以下相关的link , 但问题是它需要修补一个复杂的库(这不是一个好主意,而且解决方案有点复杂)。

阅读他们的 forum post , 看起来有添加 nofollow 参数的解决方案是 $config->set("HTML.Nofollow", true); , 但我仍然找不到如何修改每个链接。

我目前的解决方案是自己解析纯化后的html并修改链接,但我认为有一种方法可以通过HTML Purifier来实现。 .

最佳答案

实际上我在 one of the links on the forum 上找到了部分解决方案.

这是我需要做的:

$config->set('HTML.Nofollow', true);
$config->set('HTML.TargetBlank', true);

所以完整的东西看起来像这样:

$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.Nofollow', true);
$config->set('HTML.TargetBlank', true);
$config->set('HTML.Allowed', 'a,b,strong,i,em,u');
$purifier = new HTMLPurifier($config);

关于php - 修改 HTML Purifier 中的所有链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22342187/

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