将主题标签转为 link 但忽略 urls 片段标识符

turning hashtags to link but ignoring the urls fragment Identifiers

我正在 preg_replace 使用以下 RegEx 将主题标签转换为 url:

#([^0-9_\s\W][\p{L}0-9]{2,})

问题是 url 片段标识符也被包含在内。如何通过改进此 RegEx 来排除它们?此外,每一行可能或许多不在 <p> 标签内。

感谢您的回复。

我相信您想从匹配项中排除这样的文本:


                                           \______________/

一个简单的解决方案是在 # 之前要求一个空白字符,这很容易通过回顾来完成:

(?<=\s|^)#([^\d_\s\W][\p{L}\d]{2,})

Demo.

这一位完成了作品:

(?<=\W)#(\w+)

http://www.phpliveregex.com/p/b1u