当前位置:Gxlcms > PHP教程 > preg_replace有关问题,求帮助

preg_replace有关问题,求帮助

时间:2021-07-01 10:21:17 帮助过:17人阅读

preg_replace 问题,求帮助

$wupin="A类别0::::::品名1::::::品牌/厂商2::::::规格3::::::要改变的数量4::::::单位5::::::单价6::::::要改变的总价7|||||||B类别0::::::品名1::::::品牌/厂商2::::::规格3::::::要改变的数量4::::::单位5::::::单价6::::::要改变的总价7";

$strrpos_start="A类别0::::::品名1::::::品牌/厂商2::::::规格3::::::";//查询前面部分
$strrpos_end="单位5::::::单价6::::::";//查询后面部分

$k =$strrpos_start;
$n =10;
echo preg_replace("/(?<=$k )\d+/e", '0 + '.$n, $wupin);//行不通,出错
?>



想把A类别中的“要改变的数量4” 里的数量再加上10
------解决思路----------------------
$wupin="A类别0::::::品名1::::::品牌/厂商2::::::规格3::::::要改变的数量4::::::单位5::::::单价6::::::要改变的总价7
------解决思路----------------------
B类别0::::::品名1::::::品牌/厂商2::::::规格3::::::要改变的数量4::::::单位5::::::单价6::::::要改变的总价7";

$ep = explode('
------解决思路----------------------
', $wupin);
if($ep[0][0] == 'A'){
$ep[0] = preg_replace_callback("/(要改变的数量)(\d)/", create_function('$matches','return $matches[1].($matches[2]+10);'), $ep[0]);
}
echo join($ep);

人气教程排行