2014-05-10 5 views
1

Je dois vérifier si une page contient une balise meta robots noindex dans son code source et si je veux capturer autant de variantes de syntaxe html que possible.Expression régulière pour trouver des balises meta robots noindex

D'abord, j'ai essayé la fonction get_meta_tags(), mais elle a quelques limitations, donc j'ai décidé de m'en tenir à preg_match.

J'ai essayé cette expression régulière:

"/<meta\s+name\s*=\s*[\"'](.*?)[\"']\s*content\s*=\s*[\"'].*?noindex.*?[\"']\s*\/?>/i" 

mais il échoue lorsque la balise Meta noindex est comme ça (partie du contenu en premier):

<meta content="follow, index" name="robots" /> 

Quelqu'un peut-il partager une expression régulière plus approprié atteindre mon but?

+0

double possible [RegEx correspondance balises ouverts à l'exception des balises autonomes XHTML] (http://stackoverflow.com/questions/1732348/regex-match-open -tags-except-xhtml-balises autonomes) – Anonymous

Répondre

0
méthode

sans long/big preg:

if (preg_match_all('/\<meta.*?\>/mis',$s,$m) and strstr(join(',',$m[0]),'noindex')){ 

     echo 'page contains noindex meta tag'; 

    }else{ 

     echo 'without noindex meta tag'; 
    } 
Questions connexes