Php中同一字符串中的多个字符串替换

2022-03-23 00:00:00 string php preg-replace

我有以下字符串替换问题,我在这里遇到了很大的麻烦

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"替换为正确的变量。

相关文章