2012-12-12 34 views
-1

当我有这个作为一个示例文本我要排除的HTML标签中的内容使用str_ireplace

...... 
$text = "Swiss Real"; 
...... 
现在

我要做的就是这

$text = str_ireplace('swiss','<font color="red">swiss</font>',$text); 

现在我的字符串是

$text is '<font color="red">swiss</font> Real' 

现在我想要做

$text = str_ireplace('re','<font color="red">re</font>',$text); 

现在这里是我的问题...我想只改变'真实',而不是在'颜色='红'''
如何实现它。
请帮助我。

+1

这种做法是完全不可维护与错[不提“”是不推荐的标签]。如果你想从你的变量生成HTML,使用模板[这应该是PHP的主要目的,实际上]。 – moonwave99

回答

1

您需要使用boundary

\bre\b


随着boundary可以匹配由non-word人物包围的字符..

简单地把它\b围绕一个单词允许您匹配单个词


例如,对于字符串"Begin it in stackoverflow",如果你想与IN

in正则表达式替换in将它替换到"BegIN it IN stackoverflow"

\bin\b正则表达式将它替换到"Begin it IN stackoverflow"

+0

如果$文本本来是“瑞士真实”,那么我也想改变真实的Re,而不是re = in color =“red”....现在你的解决方案将工作 –

+0

我得到了你发布的例子...但我想要的第一部分,除了标签内的文本被遗留在一个单独的....就像我希望在字体标签中留下单独re但在$文本=“瑞士真实”重新改变... –

+0

@GauravBansal你可以使用这个正则表达式然后'(?<!“)re' – Anirudha

相关问题