php の正規表現の使用方法を教えてください。助けてください。
他の Web サイトに自分の Web サイトへのフレンドリー リンクがあるかどうか、つまりアドレスがあるかどうかを検出するフレンドリー リンク検出方法を実行したいと考えています。私の Web サイトの
例: 私の Web サイトのアドレスは www.csdn.net、
ですが、一部の Web サイトではリンクに rel="nofollow" が追加されることがあります。意味がありません;
通常のルールをよく学習していませんが、これが追加されたかどうかを検出するにはどうすればよいですか?
次のような状況がいくつかあります。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><a rel="nofollow" href="http://www.csdn.net">csdn</a>
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><a target="_blank" rel="nofollow" href="http://www.csdn.net">csdn</a>
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><a target="_blank" rel="nofollow" href="http://www.csdn.net">csdn</a>
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><a rel="nofollow" href="http://www.csdn.net" target="_blank">csdn</a>
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><a href="http://www.csdn.net" target="_blank" rel="nofollow">csdn</a>
<!-- 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(.*?)href=(.*?)http://www.csdn.net(.*?)>(.*?)<\/a>/i', $out, $m); if($havelink||strstr($robots,'nofollow')){ echo "友情链接存在"; } }
。 $array = <<<HTML <a rel="nofollow" href="http://www.csdn.net">csdn</a> <a target="_blank" rel="nofollow" href="http://www.csdn.net">csdn</a> <a target="_blank" rel="nofollow" href="http://www.csdn.net">csdn</a> <a rel="nofollow" href="http://www.csdn.net" target="_blank">csdn</a> HTML; preg_match_all('/(<a.*href="http://www.csdn.net".*csdn</a>)/is', $array, $match); if (isset($match[1])) { foreach ($match[1] as $html) { if (stripos($html, 'rel="nofollow"') !== FALSE) 「悪い!」をエコーします。 壊す; } <div class="clear"></div>