【发布时间】:2018-07-13 13:28:15
【问题描述】:
我需要一个函数来纠正给定 HTML 文本中的所有传出链接,并将属性“rel=nofollow”添加到链接中。只应更正传出链接。
示例:我的域是 www.laptops.com
$myDomain = "www.laptops.com";
$html =
"Hello World have a look at <a href="www.laptops.com/apple">Apple Laptops</a>.
For more ino go to <a href="www.apple.com">Apple.com</a>
or to <a href="www.appleblog.com">Appleblog.com</a>";
function correct($html,$myDomain){
//get all links by filtering '<a ... href="{$link}" .....>' and
//check with isOutgoing($href,$myDomain )
}
$newHTML = correct($html,$myDomain);
echo $newHTML;
//Hello World have a look at <a href="www.laptops.com/apple">Apple Laptops</a>.
//For more ino go to <a rel="nofollow" href="www.apple.com">Apple.com</a>
//or to <a rel="nofollow" href="www.appleblog.com">Appleblog.com</a>
到目前为止,我有一个函数“isOutgoing($link)”,它可以检测链接是否传出,但检测所有“ " 部分 HTML 文本和过滤 {$link} 会产生问题。我知道 preg_match() 应该可以,但我不知道如何解决。
【问题讨论】:
-
“我知道 preg_match() 应该可以” ....don't do it ...别想了,他会听到的!
-
必须是PHP吗?在 jQuery 中非常简单
标签: php html hyperlink autocorrect nofollow