PHP 中查找 http 的正则表达式模式

发布于 2024-08-15 19:03:51 字数 430 浏览 2 评论 0原文

如何从该文本中提取 HTTP?

"Text: Here's 2 free bonuses. http://blablabla.blabla/blabla "

但 URL 也可以是另一个。

最后

在我拥有通常只包含一个 URL 的数组后,如何将其完全相同地添加到上面的文本中位置?但是使用 HTML 标签

结果应该如下所示:

"Text: Here's 2 free bonuses. 
<a href='http://blablabla.blabla/blabla'>http://blablabla.blabla/blabla</a> "

How can I extract the HTTP from this text?

"Text: Here's 2 free bonuses. http://blablabla.blabla/blabla "

But the URL can also be another one.

Finally

After I have the array, which contains usually just one URL, how can I add it to the above text exactly at the same position? But with HTML tag <a>

The results should look something like this:

"Text: Here's 2 free bonuses. 
<a href='http://blablabla.blabla/blabla'>http://blablabla.blabla/blabla</a> "

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

离不开的别离 2024-08-22 19:03:51

您可以使用正则表达式来做到这一点,更准确地说 preg_replace()。匹配表达式可以是这样的:

$pattern = 'http://[a-zA-Z0-9\.\-/]+';

当然,您可以改进它以实现更精确的匹配,但这应该可以解决问题。如果您想使用正则表达式,请查看 regexpal,它是一个很棒的测试工具。然后,您可以执行替换($0 对应于整个匹配的字符串:

preg_replace($pattern, '<a href="$0">$0</a>', $yourString);

You can do that using regular expression, and more precisely preg_replace(). The matching expression can be something like :

$pattern = 'http://[a-zA-Z0-9\.\-/]+';

Of course, you can refine it for more precise matching, but this should do the trick. If you want to play with regex, have a look at regexpal, it's a great tool for testing. Then, you can perform the replace ($0 corresponds to the whole matched string :

preg_replace($pattern, '<a href="$0">$0</a>', $yourString);
落花浅忆 2024-08-22 19:03:51

这个正则表达式应该可以解决问题:

$s= "Text: Here's 2 free bonuses. http://blablabla.blabla/blabla and some more text";
$s2= preg_replace('~(http://\S+)\b~', '<a href="$1">$1</a>', $s);
var_dump($s2);

This regex should do the trick:

$s= "Text: Here's 2 free bonuses. http://blablabla.blabla/blabla and some more text";
$s2= preg_replace('~(http://\S+)\b~', '<a href="$1">$1</a>', $s);
var_dump($s2);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文