首頁 >後端開發 >php教程 >如何使用 PHP 和正規表示式從文字中高效提取 URL?

如何使用 PHP 和正規表示式從文字中高效提取 URL?

DDD
DDD原創
2024-12-14 12:59:14230瀏覽

How Can I Efficiently Extract URLs from Text Using PHP and Regular Expressions?

在 PHP 中從文本中高效提取 URL

查詢

使用正則表達式從以下文本中提取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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn