使用可选的 HTTP 和 WWW 前缀匹配 URL
正则表达式是复杂模式匹配任务的强大工具。当涉及到匹配 URL 时,格式通常会有所不同,例如是否包含“http://www”。
使用正则表达式的解决方案
匹配带或不带“http://www”的 URL。前缀,可以使用以下正则表达式:
((https?|ftp)://)? ([a-z0-9+!*(),;?&=$_.-]+(:[a-z0-9+!*(),;?&=$_.-]+)?@)? ([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3}))) (:[0-9]{2,5})? (/([a-z0-9+$_%-]\.?)+)*/? (\?[a-z+&$_.-][a-z0-9;:@&%=+/$_.-]*)? (#a-z_.-][a-z0-9+$%_.-]*)?
表达式细分:
用法示例
要检查给定字符串是否与正则表达式匹配,请使用以下语法:
<code class="php">if(preg_match(~^$regex$~i, 'www.example.com/etcetc', $m))</code>
如果字符串与 URL 模式匹配,则返回 TRUE带或不带“http://www”。前缀。
以上是如何使用正则表达式匹配带有或不带有可选 HTTP 和 WWW 前缀的 URL?的详细内容。更多信息请关注PHP中文网其他相关文章!