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,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si';这个对于下面的URL地址都适用:
xxx.com
www.xxx.com
www.xxxx.com/path-to-something
原文链接:https://www.f2er.com/regex/362459.html