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