5

我正在尝试解决我的一个 wordpress 插件遇到的问题。

这是第 666 行

function isUrl($url)
{
    return preg_match("^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
}

您对我如何解决此警告有何意见?这很烦人。我无法弄清楚,我已经尝试过,研究过一切!

4

3 回答 3

6

/不见了。preg_match('/pattern/',$string);

preg_match("/^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
于 2013-09-08T18:08:52.630 回答
3

正如在其他答案中所说,您必须在正则表达式周围使用分隔符。/除了避免转义它们之外,您还可以使用其他字符:

return preg_match("~^http://[-0-9a-z._]+.*$~i", trim( $url ));

你可以使用\w它的快捷方式[a-zA-Z0-9_]

return preg_match("~^http://[-\w.]+.*$~", trim( $url ));
于 2013-09-09T07:40:53.107 回答
2

您的正则表达式需要一个分隔符,例如 /

 return preg_match("/^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));

此分隔符可以是不同的字符,但在您的正则表达式之前和之后必须相同。你也可以这样做

~regex~

或者

#regex#

优点是,使用正则表达式中没有的分隔符。如果您使用 / 作为分隔符并想要匹配“/”,则必须在正则表达式中对其进行转义 ///,如果您更改分隔符,您可以使用 #/# 来匹配“/”

于 2013-09-08T18:16:25.113 回答