public function checkUrl($content)
{
//包含url链接
$pattern1 = '#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si';
//包含ip地址
$pattern2 = '/((1?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(1?\d{1,2}|2[0-4]\d|25[0-5])/';
if(preg_match($pattern1, $content) || preg_match($pattern2, $content))
{
return -3;
}
return 0;
}
找了好久才找到合适的匹配的规则,在这边做下记录。
其中'#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si';
这个对于下面的url地址都适用:
xxx.com
www.xxx.com
www.xxxx.com/path-to-something