搜索禁止:/ 在 robots.txt
Search Disallow: / in robots.txt
我想在 robots.txt 个域中搜索 Disallow: /
。
我已经写了正则表达式,但它不起作用。
if(preg_match("!Disallow:\s*/\s\r\n!i",$string,$disallow_char))
{
print_r($disallow_char);
}
以下是两个测试用例。
1)
User-agent: *
Disallow: /
2)
User-agent: *
Disallow: /product/generate_pdf/40
Disallow: /news/
Disallow: /news/bollards
Disallow: /product/generate_pdf/44
Disallow: /
Disallow: /page_management/insert
Disallow: /glossary/ajax_call/update_words
这两种情况都应该输出 true。
您需要断言换行序列或字符串结尾如下:
echo preg_match('~Disallow:\h*/(?:\R|$)~i', $string)
解释:
Disallow: # 'Disallow:'
\h* # horizontal whitespace (0 or more times)
/ # '/'
(?: # group, but do not capture:
\R # '\R' (any Unicode newline sequence)
| # OR
$ # before an optional \n, and the end of the string
) # end of grouping
我想在 robots.txt 个域中搜索 Disallow: /
。
我已经写了正则表达式,但它不起作用。
if(preg_match("!Disallow:\s*/\s\r\n!i",$string,$disallow_char))
{
print_r($disallow_char);
}
以下是两个测试用例。
1)
User-agent: *
Disallow: /
2)
User-agent: *
Disallow: /product/generate_pdf/40
Disallow: /news/
Disallow: /news/bollards
Disallow: /product/generate_pdf/44
Disallow: /
Disallow: /page_management/insert
Disallow: /glossary/ajax_call/update_words
这两种情况都应该输出 true。
您需要断言换行序列或字符串结尾如下:
echo preg_match('~Disallow:\h*/(?:\R|$)~i', $string)
解释:
Disallow: # 'Disallow:'
\h* # horizontal whitespace (0 or more times)
/ # '/'
(?: # group, but do not capture:
\R # '\R' (any Unicode newline sequence)
| # OR
$ # before an optional \n, and the end of the string
) # end of grouping