我有一些带有Twitter风格#hashtags的文本.我将如何编写一个函数来解析可能包含无限数量的#hashtags的文本正文,获取#hashtags的文本并将其全部替换为< a href =“ tag / [hashtag text]”> [标签文本]< / a>
我已经考虑了很多方法,但是我真的不擅长用regex编写这类函数.
示例文字:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus #tristique non elit eu iaculis. Vivamus eget ultricies nisi. Vivamus hendrerit at mauris condimentum scelerisque. Donec nibh mauris,
pulvinar et #commodo a, porta et tellus. Duis eget ante gravida,
convallis augue id, blandit lectus. Mauris euismod commodo mi ut
fringilla. Sed felis magna, rhoncus vitae mattis varius, sagittis a
eros. Donec eget porta ipsum. #Mauris sed mauris ante. Suspendisse
potenti. Donec a #pretium #augue, eget hendrerit orci. Integer cursus
scelerisque consequat.
解决方法:
尝试使用此:
$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(单击运行).
正则表达式参考:Space or beginning of string,Non capturing group
原始来源:Parsing Twitter with RegExp
标签:php,regex,tags 来源: https://codeday.me/bug/20191010/1887492.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。