【问题标题】:Regular expression to find meta robots noindex tag正则表达式查找元机器人 noindex 标记
【发布时间】:2014-05-10 10:32:43
【问题描述】:

我必须检查页面的源代码中是否有 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" />

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

【问题讨论】:

标签: regex preg-match meta noindex


【解决方案1】:

没有长/大怀孕的方法:

    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';
    }

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 2013-08-12
    • 2010-12-10
    相关资源
    最近更新 更多