如何用PHP正则表达式实现几乎全范围的网址匹配?

更新于
2026-09-27 02:52:55
32阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计327个文字,预计阅读时间需要2分钟。

如何用PHP正则表达式实现几乎全范围的网址匹配?

比较简单的正则表达式如下:

php$pattern='/^(https?|ftp|rtsp|mms):\/\/[^\s]+$/';$testStr='http://example.com';$matches=[];

if (preg_match($pattern, $testStr, $matches)) { echo 匹配成功:; print_r($matches);} else { echo 匹配失败;}

该表达式可以匹配以http、https、ftp、rtsp或mms开头的网址。

比较简单的

如何用PHP正则表达式实现几乎全范围的网址匹配?

$str = ''; $isMatched = preg_match('/^^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/', $str, $matches); var_dump($isMatched, $matches);

几乎可以匹配任何网址:

^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$

实例:

<script type="text/javascript"> function IsURL(urlString) { regExp = /^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$/ if (urlString.match(regExp)) return "is a url"; else return "not a url"; } url = ""; alert(IsURL(url)); </script>

本文共计327个文字,预计阅读时间需要2分钟。

如何用PHP正则表达式实现几乎全范围的网址匹配?

比较简单的正则表达式如下:

php$pattern='/^(https?|ftp|rtsp|mms):\/\/[^\s]+$/';$testStr='http://example.com';$matches=[];

if (preg_match($pattern, $testStr, $matches)) { echo 匹配成功:; print_r($matches);} else { echo 匹配失败;}

该表达式可以匹配以http、https、ftp、rtsp或mms开头的网址。

比较简单的

如何用PHP正则表达式实现几乎全范围的网址匹配?

$str = ''; $isMatched = preg_match('/^^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/', $str, $matches); var_dump($isMatched, $matches);

几乎可以匹配任何网址:

^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$

实例:

<script type="text/javascript"> function IsURL(urlString) { regExp = /^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$/ if (urlString.match(regExp)) return "is a url"; else return "not a url"; } url = ""; alert(IsURL(url)); </script>