eregi()已弃用,需要使用preg_match进行替换。我如何将以下语法转换为preg_match?假设以下是URL,它是必需的正则表达式:使用eregi()进行URL验证,但现在使用preg_match
$url = "https://james.wordpress.com/2013/05/13/my-product-final";
$urlregex = "^(https?|ftp)\:\/\/([a-zåäöÅÄÖæÆøØ0-9+!*(),;?&=\$_.-]+(\:[a-zåäöÅÄÖæÆøØ0-9+!*(),;?&=\$_.-]+)[email protected])?[a-zåäöÅÄÖæÆøØ0-9+\$_-]+(\.[a-zåäöÅÄÖæÆøØ0-9+\$_-]+)*(\:[0-9]{2,5})?(\/([a-zåäöÅÄÖæÆøØ0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-zåäöÅÄÖæÆøØ0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-zåäöÅÄÖæÆøØ0-9+\$_.-]*)?\$";
下面的代码工作正常:
if (eregi($urlregex, $url)) {
echo "Valid";
exit;
}
我试图转换成 '的preg_match',但它不能正常工作:
if (preg_match("#$urlregex#i", $url)) {
echo "Valid";
exit;
}
也试过像这样:
if (preg_match('/'.$urlregex.'/i', $url))
这一个工作,但不100%:if(preg_match(“(”。$ urlregex。“)i”,$ url)) – Jerry3456