【发布时间】:2015-04-02 00:30:56
【问题描述】:
我正在尝试配置网站插件,并且需要为我网站上的某些页面设置 PCRE url 模式。 我需要排除以下模式的页面:
http://www.autonews.com/automarket_news/news/1800699/
http://www.kolesa.com/news/sometexthere/
有谁知道如何使用 PCRE 表达式来做到这一点..?
【问题讨论】:
我正在尝试配置网站插件,并且需要为我网站上的某些页面设置 PCRE url 模式。 我需要排除以下模式的页面:
http://www.autonews.com/automarket_news/news/1800699/
http://www.kolesa.com/news/sometexthere/
有谁知道如何使用 PCRE 表达式来做到这一点..?
【问题讨论】:
编写一个可以匹配任何有效 URL 的正确 regex 并非易事。好在没必要写这样的regex,PHP提供了更好的工具。
使用函数parse_url() 将URL 拆分为组件,然后使用简单的比较、查找(如果您真的需要它们,甚至可以使用简单的regexes)来分析URL 片段并决定下一步做什么。
示例代码:
$url = 'http://www.autonews.com/automarket_news/news/1800699/etc';
$pieces = parse_url($url);
if ($pieces['host'] == 'www.autonews.com' &&
strpos($pieces['path'], '/automarket_news/news/1800699/') === 0) {
// matches, do something
} else {
// doesn't match, do something else
}
【讨论】: