正则表达式匹配重音符号,空格

时间:2016-09-26 12:44:51

标签: php

如何替换文本,例如:c2stackoverflow to

span style="color:#ffdc50">stackoverflow</span>'

我尝试这样做:

<?php

$string = "c2stackoverflow";    
$string = preg_replace("/c2([A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ])+$/", '<span style="color:#ffdc50">$1</span>', $string);    
echo $string;

但输出是:

<span style="color:#ffdc50">w</span>

2 个答案:

答案 0 :(得分:2)

由于您的原始正则表达式(通过其最终$)显示您要在c2之后替换整个重新映射的字符集,因此您可以简单地使用:< / p>

$string = preg_replace("/c2(.*)$/", '<span style="color:#ffdc50">$1</span>', $string);

请注意,我已将+替换为*,因此即使像c2这样的字符串也会被<span style="color:#ffdc50"></span>替换。

答案 1 :(得分:1)

只需替换这样的加号:

$string = preg_replace("/c2([A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ ]+)$/", '<span style="color:#ffdc50">$1</span>', $string);