【发布时间】:2011-11-07 06:57:06
【问题描述】:
我正在尝试使用 GitHub https://github.com/ErisDS/Migrate 上的这个项目将我的 Wordpress 数据库中的 URL 设置从 Localhost 开发安装迁移到实时 URL。
目前代码会抛出一个错误,将 URL 替换为“http://localhost/mysitename”,但接受新的 URL“http://www.mywebsitename.com”
据我所知,错误来自此正则表达式未将 localhost 验证为有效 URL - 有什么想法可以更新它以接受 localhost 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|file)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]
标签: php regex wordpress migrate