gpt4 book ai didi

php - 通过 php 和正则表达式从文本字符串中查找 url?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:42:38 28 4
gpt4 key购买 nike

<分区>

我知道问题标题看起来很重复。但是我在这里没有找到一些解决方案。

我需要从文本字符串中查找 url:

$pattern = '`.*?((http|https)://[\w#$&+,\/:;=?@.-]+)[^\w#$&+,\/:;=?@.-]*?`i';

if (preg_match_all($pattern,$url_string,$matches)) {
print_r($matches[1]);
}

使用此模式我能够找到带有 http:// 的网址和 https://没关系。但我有用户输入,人们在其中添加 url,如 www.domain.com甚至 domain.com

所以,我需要先验证字符串,我可以在其中替换 www.domain.com domain.com使用通用协议(protocol) http://在他们面前。或者我需要想出更好的模式?

我不擅长正则表达式,不知道该怎么做。

我的想法是先找到带http:// 的网址和 https://将它们放在一个数组中,然后在文本字符串中用空格 ("") 替换这些 url,然后使用其他模式。但是我不确定要使用什么模式。

我正在使用这个 $url_string = preg_replace($pattern, ' ', $url_string );但这会删除(如果有的话)www.domain.comdomain.com两个有效网址之间的网址 http://https://

如果你能提供帮助那就太好了。

为了让事情更清楚:

我需要一个模式或一些其他方法,我可以在其中找到文本字符串中的所有 url。 url 的例子是:

  1. domain.com
  2. www.domain.com
  3. http://www.domain.com
  4. http://domain.com
  5. https://www.domain.com
  6. https://domain.com

谢谢! 5.

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com