查詢
使用正則表達式從以下文本中提取URL,特別是preg_match():
$string = "this is my friend's website http://example.com I think it is coll";
答案
要從提供的字串中提取URL,利用正規表示式是一種合適的方法。一種有效的正規表示式模式是:
preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', $string, $match);
此正規表示式透過確保它們以「http」或「https」開頭、包含不帶空格或特殊字元的域以及可選地包含參數或路徑資訊來匹配有效的URL。
但是,有一個限制需要考慮。此模式可能無法完全過濾掉格式錯誤的網址,例如「http://google:ha.ckers.org」。
或者,您可以使用以下WordPress 功能:
make_clickable($string);
此函數專門用於將純文字轉換為可點擊URL 的格式化字串,為URL 提取提供強大的方法。
以上是如何使用 PHP 和正規表示式從文字中高效提取 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!