我正在尝试解决我的一个 wordpress 插件遇到的问题。
这是第 666 行
function isUrl($url)
{
return preg_match("^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
}
您对我如何解决此警告有何意见?这很烦人。我无法弄清楚,我已经尝试过,研究过一切!
我正在尝试解决我的一个 wordpress 插件遇到的问题。
这是第 666 行
function isUrl($url)
{
return preg_match("^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
}
您对我如何解决此警告有何意见?这很烦人。我无法弄清楚,我已经尝试过,研究过一切!
/
不见了。preg_match('/pattern/',$string);
preg_match("/^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
正如在其他答案中所说,您必须在正则表达式周围使用分隔符。/
除了避免转义它们之外,您还可以使用其他字符:
return preg_match("~^http://[-0-9a-z._]+.*$~i", trim( $url ));
你可以使用\w
它的快捷方式[a-zA-Z0-9_]
:
return preg_match("~^http://[-\w.]+.*$~", trim( $url ));
您的正则表达式需要一个分隔符,例如 /
return preg_match("/^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
此分隔符可以是不同的字符,但在您的正则表达式之前和之后必须相同。你也可以这样做
~regex~
或者
#regex#
优点是,使用正则表达式中没有的分隔符。如果您使用 / 作为分隔符并想要匹配“/”,则必须在正则表达式中对其进行转义 ///,如果您更改分隔符,您可以使用 #/# 来匹配“/”