gpt4 book ai didi

PHP 将纯文本转换为主题标签链接

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

我正在尝试使用 PHP 将用户的帖子(文本)转换为主题标签可点击链接。

根据我的发现,主题标签应该只包含字母数字字符。

$text = 'Testing#one #two #three.test';
$text = preg_replace('/#([0-9a-zA-Z]+)/i', '<a href="/hashtag/$1">#$1</a>', $text);

它把链接放在所有(#one #two #three)上,但我认为#one不应该被转换,因为它紧挨着另一个字母数字字符,如何调整reg-ex 来解决这个问题?

第三个也可以,它只匹配#three,我认为这是正确的。

最佳答案

您可以修改您的正则表达式以包含对非空白字符的否定回溯,如下所示:

(?<!\S)#([0-9a-zA-Z]+)

工作正则表达式示例:

http://regex101.com/r/mR4jZ7

PHP:

$text = preg_replace('/(?<!\S)#([0-9a-zA-Z]+)/', '<a href="/hashtag/$1">#$1</a>', $text);

编辑:并使表达式与其他语言(非英文字符)兼容:

(?<!\S)#([0-9\p{L}]+)

工作示例:

https://regex101.com/r/Pquem3/1

关于PHP 将纯文本转换为主题标签链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22202443/

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