1

我必须检查页面的源代码中是否有 robots noindex 元标记,并且我想尽可能多地捕获不同的 html 语法变体。

首先我尝试了 get_meta_tags() 函数,但它有一些限制,所以我决定坚持使用 preg_match。

我试过这个正则表达式:

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

但是,当 noindex 元标记是这样的(首先是内容部分)时,它会失败:

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

谁能分享一个更合适的正则表达式来实现我的目标?

4

1 回答 1

0

没有长/大怀孕的方法:

    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';
    }
于 2014-11-18T21:01:17.240 回答