我有一些带有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 .苏珊迪斯·波伦蒂。一个#预~*整数曲线加速的结果。
发布于 2013-06-21 22:43:15
试着使用以下方法:
$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)。
原始资料来源:用RegExp解析推特
发布于 2014-03-22 08:50:08
这将与UTF-8编码文本一起工作,并在内容中的标记之前显示#(散列)。
preg_replace('/(\#)([^\s]+)/', ' <a href="tag/$2">#$2</a> ', $content);发布于 2013-06-21 22:41:50
试试这个:
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';
https://stackoverflow.com/questions/17245317
复制相似问题