PHP中的字符串替换

3

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

假设我有一个字符串$a="一些文本..%PROD% 更多文本",在字符串中只有一个%..%。我需要用另一个变量的内容替换%之间的PROD。所以我以前会这样做:

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

但现在,% 之间的 PROD 开始以不同的大小写出现。所以我可以期望 prod 或 Prod。因此,在进行替换之前,我将整个字符串转换为大写。但副作用是原始字符串中的其他字母也变成了大写。有人建议我使用正则表达式。但是怎么做呢?
3个回答

10

您可以使用str_ireplace函数,它类似于str_replace,但在匹配过程中不区分大小写。

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

4

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


3

你可以使用正则表达式,但PHP还提供了一个不区分大小写的版本的str_replace,名为str_ireplace


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接