PHP正则表达式匹配所有URL
PHP正则表达式匹配所有URL
这个问题已经有答案了:
我需要帮助创建一个可以匹配所有URL的正则表达式,例如,请不要将问题关闭为重复,因为我已经寻找了很长时间需要的答案,我看到的所有答案都没有解决我的问题。
website.com
www.website.com
还可以有任何其他的内容
www.website.com/path-to-something
我正在编写一个可以缩短任何URL的程序,但首先我需要将它们全部匹配。
谢谢
admin 更改状态以发布 2023年5月20日
你想使用类似于这样的东西:
$string = 'www.blah.com'; $temp_string = (!preg_match('#^(ht|f)tps?://#', $string)) // check if protocol not present ? 'http://' . $string // temporarily add one : $string; // use current if (filter_var($temp_string, FILTER_VALIDATE_URL)) { echo 'is valid'; } else { echo 'not valid'; }
这个使用了PHP内置的URL验证。它首先检查协议是否存在,如果不存在,则会暂时将其添加到要检查的字符串中,然后通过验证运行。这比目前可接受的答案更准确。