正規表示式提供了一種從複雜字串(包括 URL)中提取資料的強大方法。無論您是否使用包含「http://www」前綴的 URL,全面的正規表示式都可以滿足您的需求。
以下表達式經過精心設計,可匹配帶或不帶“http”的URL ://www" 前綴:
((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+$%_.-]*)?
此表達式包含以下組件:
要使用此表達式,您可以使用下面的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);
無論是否存在“http://www”前綴,此代碼都會成功匹配兩個URL。
以上是如何使用正規表示式檢測不同格式的 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!