preg_replace 的/e问题
程序员文章站
2022-05-31 09:53:55
...
由于新版PHP不能用/e,下面这句要怎么改才正常
preg_replace("/(?正常执行结果是:类别0::::::品名1::::::品牌厂商2::::::规格3::::::1::::::单位5::::::9::::::0
去掉/e,结果变成了:类别0::::::品名1::::::品牌厂商2::::::规格3::::::1::::::单位5::::::10-1::::::0
目的是让内容的原数量减新内容的数量,所以这10和1不是固定的.
那要怎么改?
preg_replace_callback("/(?这样写了,可是$0获取不到,执行什么也没输出了
是数字
如:
$morefrf[6]=1;
preg_replace("/(?
preg_replace("/(?正常执行结果是:类别0::::::品名1::::::品牌厂商2::::::规格3::::::1::::::单位5::::::9::::::0
去掉/e,结果变成了:类别0::::::品名1::::::品牌厂商2::::::规格3::::::1::::::单位5::::::10-1::::::0
目的是让内容的原数量减新内容的数量,所以这10和1不是固定的.
回复讨论(解决方案)
e 模式是 eval
就是将第二个参数当做 php 语句执行
一个是算式的结果,一个是算式
你不执行,当然结果就不对了
e 模式是 eval
就是将第二个参数当做 php 语句执行
一个是算式的结果,一个是算式
你不执行,当然结果就不对了
那要怎么改?
$0 不懂是怎么获取的
用 preg_replace_callback
这样第二个参数就是回调函数,你把算式写在函数里就可以了
用 preg_replace_callback
这样第二个参数就是回调函数,你把算式写在函数里就可以了
preg_replace_callback("/(?这样写了,可是$0获取不到,执行什么也没输出了
preg_replace_callback("/(?
这样也不行,
$morefrf[6] 是什么?
问问题的时候要把问题描述清楚,不然人家怎么帮你
$morefrf[6] 是什么?
问问题的时候要把问题描述清楚,不然人家怎么帮你
是数字
如:
$morefrf[6]=1;
preg_replace("/(?
对于
$morefrf[6]=1;preg_replace("/(?
要改写为$morefrf[6]=1;preg_replace_callback("/(?
对于
$morefrf[6]=1;preg_replace("/(?
要改写为$morefrf[6]=1;preg_replace_callback("/(?
可以修改了,谢谢,但还有个错误
正常执行结果是:类别0::::::品名1::::::品牌厂商2::::::规格3::::::1::::::单位5::::::9::::::10
现在变成了:类别0::::::品名1::::::品牌厂商2::::::规格3::::::1::::::单位5::::::9::::::9
也就是,它把后面的10也处理了,怎么解决?你鸡没有给出原始串,也没有给出期望的结果
谁知到你要做什么呢?
我只能根据你给出的来做
上一篇: SQL的存储过程3_MySQL
推荐阅读
-
解决调试JDK源码时,不能查看变量的值问题
-
基于Silverlight打印的使用详解,是否为微软的Bug问题
-
ajaxFileUpload插件,C#返回Json数据报错问题的解决方案
-
浅析Java Mail无法解析带分号的收件人列表的问题
-
501 Command "HELO" requires an argument问题的解决方法
-
C3P0连接池+MySQL的配置及wait_timeout问题的解决方法
-
2016 cocoapods的安装和使用方法以及版本升级遇到的问题
-
Spring Boot 2.X优雅的解决跨域问题
-
Spring Boot使用RestTemplate消费REST服务的几个问题记录
-
详解JVM类加载机制及类缓存问题的处理方法