【发布时间】:2013-07-24 09:57:31
【问题描述】:
我想在我的代码中使用preg_match(),但结果什么都没有……(或者 null 或空?)
$domain = "stackoverflow.com";
$uriToTest = "http://stackoverflow.com/";
$pattern = "/^http(s)?://(([a-z]+)\.)*".$domain."/";
echo preg_match($pattern, $uriToTest);
有什么问题?
【问题讨论】:
-
我认为你有错误,是吗?
-
您遇到了一个错误 - 您需要转义正斜杠。 preg_match 返回错误
-
您还需要转义 .在 .com 中。
-
您的模式无效。所以它应该显示错误。检查您的错误日志。检查你的模式。你想要什么。
-
此外,如果您希望
$domain与字面匹配,您应该使用 preg_quote() 并交出您使用的正则表达式分隔符。否则正则表达式特殊字符(如字符串中的.)可能会匹配您意想不到的内容。
标签: php regex preg-match