PHP中的字符串替换

时间:2010-04-28 06:10:39

标签: php regex string

这是我在这个精彩网站上的第一个问题。

假设我有一个字符串$a="some text..%PROD% more text"字符串中只有一个%..%。我需要将PROD替换为另一个可变内容之间的%。所以我以前做过:

$a = str_replace('%PROD%',$var,$a);

但现在PROD之间的%开始出现在不同的情况中。所以我可以期待刺激或刺激。所以我在更换之前将整个字符串设为大写。但副作用是原始字符串中的其他字母也变成大写。有人建议我使用正则表达式。但是如何?

谢谢,

罗汉

3 个答案:

答案 0 :(得分:10)

您可以使用str_ireplace功能。它与str_replace类似,但在匹配时不区分大小写。

$x = 'xxx';
$str = 'abc %Prod% def';
$str = str_ireplace('%PROD%',$x,$str); // $str is now "abc xxx def"

答案 1 :(得分:4)

只需使用str_ireplace()即可。它是str_replace()的不区分大小写的版本,对于简单替换比正则表达式更有效(也更直接)。

答案 2 :(得分:3)

您可以使用正则表达式,但PHP也方便地使用不区分大小写的str_replace版本,str_ireplace