HTMLPurifier启用HTML.Nofollow并设置URI.Host,但将nofollow添加到内部链接

时间:2018-11-29 15:37:19

标签: php htmlpurifier nofollow

我正在使用HTML Purifier,并且必须将nofollow设置为所有外部链接。 我在自己的网站上设置了URI.Host,并将HTML.Nofollow设置为true

假设将nofollow应用于所有外部链接,而不应用于内部,而是也应用于内部子域链接。

我找到了一个相对的问题,但不能解决我的问题。

http://htmlpurifier.org/phorum/read.php?2,5611

在我的html页面中,我有一些链接,例如:

<a href='http:\/\/exemple.com\/' target=\"_blank\">Link<\/a>
<a href='https:\/\/exemple.com\/' target=\"_blank\">Link<\/a>
<a href='http:\/\/sub.exemple.com\/' target=\"_blank\">Link<\/a>
<a href='https:\/\/sub.exemple.com\/' target=\"_blank\">Link<\/a>
<a href='http:\/\/www.exemple.com\/' target=\"_blank\">Link<\/a>
<a href='https:\/\/www.exemple.com\/' target=\"_blank\">Link<\/a>

我将URI.Host设置为exemple.com

$config->set('URI.Host', 'exemple.com');

我设置的HTML.Nofollow的结果

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

是:

<a href="http://exemple.com">Link<\/a>
<a href="https://exemple.com">Link<\/a>
<a href="http://sub.exemple.com"  rel="nofollow">Link<\/a>
<a href="https://sub.exemple.com"  rel="nofollow">Link<\/a>
<a href="http://www.exemple.com"  rel="nofollow">Link<\/a>
<a href="https://www.exemple.com"  rel="nofollow">Link<\/a>

为什么其他子域为nofollow?

我也尝试不使用http和https。它可以工作,但需要在链接上保留协议。 例子

<a href='exemple.com\/' target=\"_blank\">Link<\/a>
<a href='exemple.com\/' target=\"_blank\">Link<\/a>
<a href='sub.exemple.com\/' target=\"_blank\">Link<\/a>
<a href='sub.exemple.com\/' target=\"_blank\">Link<\/a>
<a href='www.exemple.com\/' target=\"_blank\">Link<\/a>
<a href='www.exemple.com\/' target=\"_blank\">Link<\/a>





<a href="exemple.com">Link<\/a>
<a href="exemple.com">Link<\/a>
<a href="sub.exemple.com">Link<\/a>
<a href="sub.exemple.com" >Link<\/a>
<a href="www.exemple.com">Link<\/a>
<a href="www.exemple.com">Link<\/a>

0 个答案:

没有答案