的正则表达式URL匹配问题我正尝试在GitHub https://github.com/ErisDS/Migrate上使用此项目,将Wordpress数据库中的URL设置从Localhost dev安装迁移到实时URL。http:// localhost/
目前的代码抛出的URL错误将被替换的“http://本地主机/ mysitename”,但并接受新的URL“http://www.mywebsitename.com”
从我可以告诉错误来自这个正则表达式不验证本地主机作为一个有效的URL - 任何想法如何我可以更新此接受本地主机的URL?
完整的代码可以在GitHub上查看。
function checkURL($url)
{
$url_regex = '/^(http\:\/\/[a-zA-Z0-9_\-]+(?:\.[a-zA-Z0-9_\-]+)*\.[a-zA-Z]{2,4}(?:\/[a-zA-Z0-9_]+)*(?:\/[a-zA-Z0-9_]+\.[a-zA-Z]{2,4}(?:\?[a-zA-Z0-9_]+\=[a-zA-Z0-9_]+)?)?(?:\&[a-zA-Z0-9_]+\=[a-zA-Z0-9_]+)*)$/';
if($url == 'http://')
{
return false;
}
return preg_match($url_regex, $url);
}
我得到这个从使用RegexBuddy:'(HTTPS | FTP |文件?):// [-A-Z0-9 + @#/%=〜_ | $:?!; ] * [A-Z0-9 + @#/%=〜_ | $]' –