如何使用数组值依次替换匹配的字符串
您正在寻找一种方法,将前面匹配的字符串替换为另一个数组中的一组值。例如,如果您匹配到多个“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 中的原始字符串。
以上就是如何使用数组值依次替换匹配的字符串?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1442601.html