gpt4 book ai didi

Php 将@username 替换为指向 Twitter 帐户的链接

转载 作者:可可西里 更新时间:2023-11-01 12:28:04 24 4
gpt4 key购买 nike

我认为这与正则表达式有关,但它本身就是一门艺术 - 我需要一些帮助。

当我们显示一个故事时,我们将所有文本存储在一个变量中——比方说 $story。

我想要做的是做一个 str_replace(我想这就是我需要的),它说这样的话“如果文本包含@something,然后将它变成一个像 <a href="http://www.twitter.com/something">@something</a> 这样的链接 - 但只有在有@ 符号之前没有任何内容”(排除电子邮件地址)

另外,如果后面有空格或标点符号,我们需要停止“某事”。所以@something。不会变成 <a href="http://www.twitter.com/something.">@something.</a>

关于如何使这项工作有什么建议吗?

最佳答案

$input = preg_replace('/(^|\s)@([a-z0-9_]+)/i',
'$1<a href="http://www.twitter.com/$2">@$2</a>',
$input);

See it

它匹配一个 @ ,它前面有空格或什么都没有(当它在开头时)。

它也可以使用正后视来缩短为:

$input = preg_replace('/(?<=^|\s)@([a-z0-9_]+)/i',
'<a href="http://www.twitter.com/$1">@$1</a>',
$input);

仅匹配推特名称,但前提是之前有空格或没有空格。

关于Php 将@username 替换为指向 Twitter 帐户的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4766158/

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