免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1844 | 回复: 3
打印 上一主题 下一主题

分隔字符串的问题! 在线等...... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-02 18:03 |只看该作者 |倒序浏览
hello("a", "b", new Array(2 , "a1", "b1" , "a2", "b2" , "a3", "b3" , "a4", "b4" , "a5", "b5" , "a6", "b6" , "a7", "b7" , "a8", "b8" , "a9", "b9" , "a10", "b10" ), new Array(""));

像这样的字符串,我如何将a1~a10和b1~b10分别取出来放到数组中?
在线等啊!!! 请各位达人帮帮忙!

论坛徽章:
0
2 [报告]
发表于 2008-08-02 21:41 |只看该作者
给你一个思路

  1. <?php
  2. $str = 'hello("a", "b", new Array(2 , "a1", "b1" , "a2", "b2" , "a3", "b3" , "a4", "b4" , "a5", "b5" , "a6", "b6" , "a7", "b7" , "a8", "b8" , "a9", "b9" , "a10", "b10" ), new Array(""));';
  3. $parrent = '/\"((a|b)\d+)\"/';
  4. $flag = preg_match_all($parrent,$str,$arr);
  5. if($flag)
  6. {
  7.         print '<pre>';
  8.         print_r($arr);
  9.         print '</pre>';
  10. }
  11. ?>
复制代码

论坛徽章:
0
3 [报告]
发表于 2008-08-03 15:53 |只看该作者
很感谢 bjbs_270  达人的回答, 不过这道题我没有说清楚,我写的a1,b1等只是我举的例子,实际中这些值都是动态得出的,所以没有办法用正则来解此题, 但还是很谢谢你的建议!:wink:

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
4 [报告]
发表于 2008-08-03 17:21 |只看该作者
<?php
$str = 'hello("a", "b", new Array(2 , "a1", "b1" , "a2", "b2" , "a3", "b3" , "a4", "b4" , "a5", "b5" , "a6", "b6" , "a7", "b7" , "a8", "b8" , "a9", "b9" , "a10", "b10" ), new Array(""));';
$str = preg_replace('/new\s+Array\s*\(/i','array(',$str);
$str = preg_replace('/^([a-z0-9]+)(.+?)$/i','\$temp["$1"] = array$2',$str);
eval($str);
print_r($temp);
?>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP