首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析hashtag的文本并使用php替换为链接

解析hashtag的文本并使用php替换为链接
EN

Stack Overflow用户
提问于 2013-06-21 22:37:57
回答 7查看 8.3K关注 0票数 9

我有一些带有twitter风格的#标签的文本。我将如何编写一个函数来解析可能包含无限数量# hashtag的文本体,获取hashtag的文本并将它们全部替换为<a href="tag/[hashtag text]">[hashtag text]</a>

我想了很多关于如何做到这一点,但我真的很擅长用regex编写这类函数。

示例案文:

Lorem ipsum dolor坐好了,敬请光临。生命之花#三位一体,不受欢迎。[医][医]视花。[医]野黄花.[医][医]毛利,腹[脉][[1],[[ et ]].)怀孕前,正常妊娠,早孕。边缘毛毛虫。[医][医]麦角,[医][医][[ Sed ]][[Sed]][[Sed]]。Donec eget porta ipsum。#Mauris sed mauris .苏珊迪斯·波伦蒂。一个#预~*整数曲线加速的结果。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-06-21 22:43:15

试着使用以下方法:

代码语言:javascript
复制
$text = "Vivamus #tristique non elit eu iaculis.";
$text = preg_replace('/(?:^|\s)#(\w+)/', ' <a href="tag/$1">$1</a>', $text);
// $text now: Vivamus <a href="tag/tristique">tristique</a> non elit eu iaculis;

它正在工作:https://3v4l.org/WXqTr (单击run)。

Regex参考资料:字符串的空格或开头非捕获群

原始资料来源:用RegExp解析推特

票数 22
EN

Stack Overflow用户

发布于 2014-03-22 08:50:08

这将与UTF-8编码文本一起工作,并在内容中的标记之前显示#(散列)。

代码语言:javascript
复制
preg_replace('/(\#)([^\s]+)/', ' <a href="tag/$2">#$2</a> ', $content);
票数 4
EN

Stack Overflow用户

发布于 2013-06-21 22:41:50

试试这个:

代码语言:javascript
复制
preg_replace('/(\#)([^\s]+)/', '<a href="tag/$2">$2</a>', $your_content_here);

这将改变这一点:This is a #hashtag

进入这个:This is a <a href="tag/hashtag">hashtag</a>

假设你有$your_content_here = 'This is a #hashtag';

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17245317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档