这是我在这个精彩网站上的第一个问题。
假设我有一个字符串$a="some text..%PROD% more text"
字符串中只有一个%..%
。我需要将PROD
替换为另一个可变内容之间的%
。所以我以前做过:
$a = str_replace('%PROD%',$var,$a);
但现在PROD
之间的%
开始出现在不同的情况中。所以我可以期待刺激或刺激。所以我在更换之前将整个字符串设为大写。但副作用是原始字符串中的其他字母也变成大写。有人建议我使用正则表达式。但是如何?
谢谢,
罗汉
答案 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