查询
使用正则表达式从以下文本中提取 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中文网其他相关文章!