请教个php正则表达式的用法,求高手帮忙
想做个友情链接的检测方法,检测对方网站是不是有我的网站的友情链接,也就是判断是否有我网站的地址;
例如:我的网站的地址是www.gaodaima.com,
但是有些网站有时候会在链接里面加个rel=”nofollow”,这样友情链接就没有意义了;
正则没好好学,问下怎么才能检测出是否加了这个呢?
有好几种情况,例如:
- HTML code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->csdn
- HTML code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->csdn
- HTML code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->csdn
- HTML code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->csdn
- HTML code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->csdn
以下是我在网上找的别人检测地址的代码:
- PHP code
<!---ecms Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$out=strtolower(@file_get_contents(http://www.xxx.com)); if($out){ $out=str_replace("\r\n","",$out); $out=str_replace("\r","",$out); $out=str_replace("\n","",$out); $havelink=preg_match_all('/(.*?)<\/a>/i', $out, $m); if($havelink||strstr($robots,'nofollow')){ echo "友情链接存在";} }
求高手帮忙
——解决方案——————–
迂回一下,正则我也很弱,找出和自己相关的链接,然后判断是否存在关键代码
- PHP code
$2本文来源gao!daima.com搞$代!码网
搞代gaodaima码array = <<<HTMLcsdncsdncsdncsdnHTML;preg_match_all('/()/is', $array, $match);if (isset($match[1])) { foreach ($match[1] as $html) { if (stripos($html, 'rel="nofollow"') !== FALSE) echo 'bad!'; break; }}