解决方案 »
- php 上传/保存文件 到不同的路径下的问题
- 关于删除文件的绝对路径问题 求指点
- curl 抓取远程页面,如何设置只下载多少字节的内容而不是下载全部页面?
- 学习php smarty ajax 用的什么书?
- 紧急求助!!为什么设置ini_set('max_execution_time', 100), php程序100秒后不会结束??
- 专心求教,如何创建能显示中文/unicode的PDF文件
- 用php将文本文件的内容定时输入到mysql数据库中?
- 求图书管理系统相关论文及毕业设计
- 帮我解释几个PHP代码程序?~
- 怎么比较日期啊?
- 请教个PHP-安卓开发问题
- 文件上传在$.ajax post提交的方式下面 $_FILES取不到信息
preg_match_all('/[:"](\w+)/i', $str, $reg);
print_r($reg[1]);Array
(
[0] => BBB
[1] => 20
[2] => large
)
你好,为什么我使用preg_replace_callback 函数用这个规则写得到的数据和你测试的一样,用preg_match_all 就是正常的
$s = preg_replace_callback('/[:"](\w+)/i','callbackfunc',$s);function callbackfunc($arr)
{
return print_r($arr[1]);
}
{
$ret = '编号:'.$arr[1][1];
$ret .= '大小:'.$arr[1][2]; return $ret
}如果用print_r直接打印好像没有问题,但是我这样做,就有引号
echo $s = preg_replace_callback('/[:"](\w+)"?/i','callbackfunc',$s);function callbackfunc($arr)
{
$ret = '编号:'.$arr[1];
$ret .= '大小:'.$arr[1]; return $ret;
}
<h2>请投票</h2><de编号:test大小:test id=编号:3大小:3 size=编号:small大小:small /><div>本投票最终解释权归我所有</div>
你这样明显是没有经过测试的,你看callbackfunc这个函数,编号 和大小 都是 $arr[1]……
让人无所适从
$str = '<AAA:BBB id="20" size="large" />'; 就非得是这样子?不能是
$s = '<h2>请投票</h2><de:test id="3" size="small" /><div>本投票最终解释权归aaa所有</div>';这应该不算是变化吧?如果我没有运行,我怎么敢乱否定的意见
<?php
function callbackfunc($arr)
{
$data = $arr[1]; print_r($arr[1]);
}$s = '<h2>请投票</h2><de:test id="3" size="small" /><div>本投票最终解释权归所有</div>';preg_replace_callback('/[:"](\w+)"?/i','callbackfunc',$s);?>
运行结果是:test3small,就是字符串,非数组。
比如 $s = '<h2>请投票</h2><de:test id="3" size="small" /><div>本投票最终解释权归aaa所有</div>';
你想把上面变成什么??
....
我就在那回调函数里获得到这三个值:test 3 samll
不知道我有没有说清楚。
preg_replace_callback用类似循环的方式 每次向回调函数传入当前匹配的一个内容,不会将三个匹配一次传进去
在这里你可能用错函数了,还是将最终需求给出来吧?