【发布时间】:2014-07-16 09:37:39
【问题描述】:
我有一个带有小型聊天系统的预订网站,允许潜在客人向房东发送消息,例如询问是否有空房。
我希望隐藏用户键入的任何 URL(= 替换为 ****),除非它是我的站点域的 URL。 我目前有一个成功匹配任何 URL 的正则表达式:
$replacing_string = '****';
$userMessage = preg_replace('{\b(?:http://)?(www\.)?([^\s]+)(\.com|\.org|\.net|\.it)\b}mi', $replacing_string, $userMessage);
我需要对其进行编辑,以便匹配除包含 mydomain.com
的所有 URL这些字符串的预期结果:
“嗨,请查看我的网站 www.othersite.com/room/123”
preg_replace 之后:
“嗨,请查看我的网站 ****”
“嗨,这个房间有空吗?www.mydomain.com/room/123”
preg_replace 之后:
“嗨,这个房间有空吗?www.mydomain.com/room/123”
【问题讨论】:
标签: php regex validation preg-replace url-validation