preg_replace_callback替换preg_replace 正则表达式,转码编码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第二个输出弄错了是下面的$teem []= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $arr['invoice_type'] );echo "<pre>";print_r($teem);输出Array( [0] => a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:0:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}) 第二个输出弄错了是下面的$teem []= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $arr['invoice_type'] );echo "<pre>";print_r($teem);输出Array( [0] => a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:0:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}) $s = preg_replace_callback('/s:\d+:"(.+?)";/s', function($r) { $n = strlen($r[1]); return "s:$n:\"$r[1]\";"; }, $s); 大神我按照你的改了输出数据是这样代码 $teem = preg_replace_callback('/s:\d+:"(.+?)";/s', function($r) { $n = strlen($r[1]); return "s:$n:\"$r[1]\";"; }, $arr['invoice_type'] ); echo "<pre>"; print_r($teem);输出a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:12:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}企业发票后边S:0:"" 变为了s:12:"" 多了12长度,这个怎么来的 没考虑值为空的情况把 '/s:\d+:"(.+?)";/s' 改为 '/s:\d+:"(.*?)";/s' PHP连贴之如何安装记账本 关于隐藏域传值的问题 mysql过程问题 apache 为什么不支持.htaccess 文件? DOMElement取不到,大侠帮我看看 我是搞PHP的,最近想强化学习ajax,从哪里开始呢?有这样的项目么/ 请问怎么让浏览器不读cache我的浏览器每回都要手动刷新,累啊 怪!关于用PHP上传文件的问题. 请帮我看看这段代码,我想选中一个选项后,刷新页面。 php json数组问题 php 数组 distinct 与order by 的问题及php和json的问题
$teem []= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $arr['invoice_type'] );
echo "<pre>";
print_r($teem);
输出
Array
(
[0] => a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:0:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}
)
第二个输出弄错了是下面的
$teem []= preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $arr['invoice_type'] );
echo "<pre>";
print_r($teem);
输出
Array
(
[0] => a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:0:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}
)
function($r) {
$n = strlen($r[1]);
return "s:$n:\"$r[1]\";";
}, $s);
大神我按照你的改了输出数据是这样
代码
$teem = preg_replace_callback('/s:\d+:"(.+?)";/s',
function($r) {
$n = strlen($r[1]);
return "s:$n:\"$r[1]\";";
}, $arr['invoice_type'] );
echo "<pre>";
print_r($teem);
输出
a:2:{s:4:"type";a:3:{i:0;s:8:"个人发票";i:1;s:8:"企业发票";i:2;s:12:"";}s:4:"rate";a:3:{i:0;d:6;i:1;d:6;i:2;d:0;}}企业发票后边S:0:"" 变为了s:12:"" 多了12长度,这个怎么来的
把 '/s:\d+:"(.+?)";/s'
改为 '/s:\d+:"(.*?)";/s'