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

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

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

您正在寻找一种方法,将前面匹配的字符串替换为另一个数组中的一组值。例如,如果您匹配到多个“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 中的原始字符串

以上就是如何使用数组值依次替换匹配的字符串?的详细内容,更多请关注其它相关文章!