Php 警告:preg_match()[function.preg match]:无结束分隔符'^';建立
我正试图解决一个问题,我一直与我的wordpress插件之一 这是666号线Php 警告:preg_match()[function.preg match]:无结束分隔符'^';建立,php,validation,error-handling,wordpress,preg-match,Php,Validation,Error Handling,Wordpress,Preg Match,我正试图解决一个问题,我一直与我的wordpress插件之一 这是666号线 function isUrl($url) { return preg_match("^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url )); } 您对我如何解决此警告有何意见?这很烦人。我想不出来,我已经试过了,研究过了 缺少/预匹配('/pattern/',$string) preg_match("/^http:\/\/[-0-9a-z\._]+.*$/i", trim(
function isUrl($url)
{
return preg_match("^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
}
您对我如何解决此警告有何意见?这很烦人。我想不出来,我已经试过了,研究过了 缺少
/
<代码>预匹配('/pattern/',$string)代码>preg_match("/^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
您的正则表达式周围需要一个分隔符,例如/
return preg_match("/^http:\/\/[-0-9a-z\._]+.*$/i", trim( $url ));
此分隔符可以是不同的字符,但在正则表达式前后必须相同。例如,你也可以这样做
~regex~
或
优点是,使用正则表达式中没有的分隔符。如果使用/作为分隔符并希望匹配“/”,则必须在正则表达式中转义“/”,如果更改分隔符,则可以像其他答案中所说的那样,使用“/”来匹配“/”,必须在正则表达式周围使用分隔符。您还可以使用
/
以外的其他字符来避免转义:
return preg_match("~^http://[-0-9a-z._]+.*$~i", trim( $url ));
您可以使用\w
,这是[a-zA-Z0-9\
的快捷方式:
return preg_match("~^http://[-\w.]+.*$~", trim( $url ));
非常感谢大家:)如果(预匹配(^[[U a-z0-9-]+(\.[U a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3}),$请求['email'])!=1)
return preg_match("~^http://[-\w.]+.*$~", trim( $url ));