PHP前端开发

如何使用数组值依次替换匹配的字符串?

百变鹏仔 2天前 #PHP
文章标签 数组

如何使用数组值依次替换匹配的字符串

您正在寻找一种方法,将前面匹配的字符串替换为另一个数组中的一组值。例如,如果您匹配到多个“img”字符串,则希望使用二维数组 $re_img 来替换它们,其中 $re_img[0] 是一个一维数组,用于替换第一个匹配项,$re_img[1] 用于替换第二个匹配项,等等。

回答:

理解您的需求后,可能会存在不同的想法,以下是其中之一:

首先,使用 preg_replace() 函数用一个特定值替换所有 “img” 字符串,例如:

$tmpstr1 = preg_replace('/***img***/', '特定值', $result);

接下来,使用字符串操作查找特定值在字符串中的位置,并使用 $re_img 数组中的相应值替换该特定值:

// 获取特定值的起始位置$start = strpos($tmpstr1, '特定值');// 遍历 $re_img 数组,依次替换特定值foreach ($re_img[0] as $value) {    $tmpstr1 = substr_replace($tmpstr1, $value, $start, strlen('特定值'));    $start += strlen($value);}

最后,$tmpstr1 会包含替换后的字符串,可以用它替换 $result 中的原始字符串。