我有:
<p>
#mango #orange Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
我想更换#values,那就是:#mango,#orange与单:
<a href="#">Link</a>
所以我的预期是:
<p>
<a href="#">Link</a>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
我试过:
<?php
if( $sentence != '' ) {
$sentence=preg_replace("/#([A-Za-z0-9\_\-\.]*)/", "<a href='#'>Link</a>", $sentence);
}
?>
但是它用两个锚标记替换了#mango 和#orange:Link和Link而我想用一个锚标记替换所有# 个单词。
我认为这个正则表达式就是你要找的:
$sentence = <<<TAG
<p>
#mango #orange Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
TAG;
$sentence = preg_replace("/(#([\w\-.]*)+ )+/", "<a href='#'>Link</a> ", $sentence);
echo $sentence;
一个主要的变化是我之后也在寻找一个空间,所以需要将它添加回替换部分。
演示在这里:https : //3v4l.org/qKEAq
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句