1

如何从此文本中提取 HTTP?

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

但 URL 也可以是另一个。

最后

在我拥有通常只包含一个 URL 的数组后,如何将其添加到上述文本中的同一位置?但是带有 HTML 标签<a>

结果应如下所示:

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

2 回答 2

1

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

$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);
于 2009-12-18T20:40:48.163 回答
1

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

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

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

preg_replace($pattern, '<a href="$0">$0</a>', $yourString);
于 2009-12-18T20:41:51.330 回答