Multiple string replacements in the same string in php(Php中同一字符串中的多个字符串替换)
问题描述
我有以下字符串替换问题,我在这里遇到了很大的麻烦
PFB示例字符串
$string = 'The quick sample_text_1 56 quick sample_text_2 78 fox jumped over the lazy dog.';
$patterns[0] = '/quick/';
$patterns[1] = '/quick/';
$patterns[2] = '/fox/';
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
我需要根据我发送的号码更换"快速"
即如果我对函数的输入是56
,则56
前面的quick
需要替换为bear
,如果我对函数的输入是78
,则需要将78
前面的快速替换为black
有人能帮我一下吗?
推荐答案
我认为正则表达式会使此操作变得困难,但您应该只能使用strpos()
、substr()
和str_replace()
。
使用
strpos
查找56和78字符串中的位置。然后使用
substr
在这些点处将字符串剪切成子字符串。现在,根据是将56还是78发送到函数以及您正在处理的子字符串,将"QUICK"替换为正确的变量。
这篇关于Php中同一字符串中的多个字符串替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!