Maison > développement back-end > tutoriel php > 请问个php正则表达式的用法,求高手帮忙

请问个php正则表达式的用法,求高手帮忙

WBOY
Libérer: 2016-06-13 13:23:01
original
1071 Les gens l'ont consulté

请教个php正则表达式的用法,求高手帮忙
想做个友情链接的检测方法,检测对方网站是不是有我的网站的友情链接,也就是判断是否有我网站的地址;

例如:我的网站的地址是www.csdn.net,

但是有些网站有时候会在链接里面加个rel="nofollow",这样友情链接就没有意义了;

正则没好好学,问下怎么才能检测出是否加了这个呢?
有好几种情况,例如:

HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><a rel="nofollow" href="http://www.csdn.net">csdn</a>
Copier après la connexion


HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><a target="_blank" rel="nofollow" href="http://www.csdn.net">csdn</a>
Copier après la connexion
Copier après la connexion


HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><a target="_blank" rel="nofollow" href="http://www.csdn.net">csdn</a>
Copier après la connexion
Copier après la connexion


HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><a rel="nofollow" href="http://www.csdn.net" target="_blank">csdn</a>
Copier après la connexion


HTML code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><a href="http://www.csdn.net" target="_blank" rel="nofollow">csdn</a>
Copier après la connexion


以下是我在网上找的别人检测地址的代码:

PHP code
<!--

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 "友情链接存在";

}
                   }


</a>
Copier après la connexion


求高手帮忙

------解决方案--------------------
迂回一下,正则我也很弱,找出和自己相关的链接,然后判断是否存在关键代码

PHP code

$array = csdn
<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.>)/is', $array, $match);
if (isset($match[1])) {
    foreach ($match[1] as $html) {
        if (stripos($html, 'rel="nofollow"') !== FALSE)
            echo 'bad!';
        break;
    }

} <div class="clear">
                 
              
              
        
            </div></a.>
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal