首页 >后端开发 >php教程 >如何使用 PHP 和正则表达式从文本中高效提取 URL?

如何使用 PHP 和正则表达式从文本中高效提取 URL?

DDD
DDD原创
2024-12-14 12:59:14227浏览

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