用於匹配帶或不帶協議的URL 的正則表達式
對於可能包含或不包含「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+$%_.-]*)?
要利用此模式進行URL 驗證,可以按以下方式應用它:
<code class="php">if (preg_match("~^$regex$~i", 'www.example.com/etcetc', $m)) var_dump($m); if (preg_match("~^$regex$~i", 'http://www.example.com/etcetc', $m)) var_dump($m);</code>
此正規表示式解決方案提供了一種全面的方法匹配URL,無論它們是否包含“http://”前綴。
以上是用於帶或不帶協定的 URL 匹配的通用正規表示式的詳細內容。更多資訊請關注PHP中文網其他相關文章!