- 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;
- }
找了好久才找到合适的匹配的规则,在这边做下记录。
这个对于下面的URL地址都适用:
- 其中'#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si';
xxx.com
www.xxx.com
www.xxxx.com/path-to-something