相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

修改HTML Purifier中的所有链接

我正在使用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);
Run Code Online (Sandbox Code Playgroud)

它的工作非常好,但我想多做一点.我想把我所有的<a href='link'>...</a>东西改成别的东西<a href='somefunc(link)' rel="nofollow" target="_blank"> ... </a>.

在搜索了一下后,我找到了以下相关链接,但问题是它需要修补一个复杂的库(这不是一个好主意,解决方案也有点复杂).

通过他们的论坛帖子阅读,看起来有添加nofollow参数的解决方案$config->set("HTML.Nofollow", true);,但我仍然无法找到如何修改每个链接.

我目前的解决方案是自己解析纯化的HTML并修改链接,但我认为有一种方法可以做到这一点HTML Purifier.

php htmlpurifier

4
推荐指数
1
解决办法
1701
查看次数

标签 统计

html ×1

htmlpurifier ×1

php ×1

regex ×1

xhtml ×1