查找字符串是否包含url的最佳方法是什么?
我正在写一个聊天框,需要拒绝在其中发布url…
if(preg_match('/[a-zA-Z]+:'/'/[0-9a-zA-Z;.'/?:@=_#&%~,+$]+/', $clean_message, $matches))
{
die('INVALID!');
}
似乎做的伎俩包含http://的url,但我也需要能够拒绝url,如youtube.com,如果ipaddress张贴等。
我需要保持聊天框从用户垃圾邮件url清洁!
也许你能做的最好的事情是:
/['w'd'.]+'.(com|org|ca|net|uk)/
并添加所有其他常用后缀。执行如下命令:
/['w'd'.]+'.['w'd]{1,3}/
可能太通用了,但它几乎可以捕获任何看起来像URL的内容。