正则表达式----高手进~!! 本帖最后由 exc_f 于 2010-09-24 01:07:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $mode = '#<li>(.*?)</li>#';preg_match_all($mode,$data,$arr);print_r($arr); 没错呀,$arr[1]就是你要的那个数组如果li的起始标记和结束标记可能不在一行的话,只要$mode = '#<li>((.|\n)*?)</li>#';就可以了 我要的是 $arr[1] => PHP 5.3.0 RC1 正式发布 [2] =>PHP v5.2.9 RC3已经释出...以此类推... $mode = '#<li>.+?<a.+?>(<span>)?(.*?)</#';preg_match_all($mode,$data,$arr);print_r($arr[2]);应该好使 你试一试吧 哪位高手还有更好 更简单的写法 拿出来 我感觉这个我写的恶心啦一点 根据楼主的需求,可能多一步取出标签要方便些,比如有些li里面还有span,但有些没有。$puredate1 = preg_replace("#<(?!/li)[^>]+>#","",$data);//去掉li标签开头以及其他标签,剩下的</li>做分隔符$arr1 = preg_split("@</li>@",$puredate1);print_r($arr1);//结果回多出最后1个空,可以这里处理也可以在前面多1步抹去最后1个</li>$puredate2 = preg_replace("#<(?!/?li)[^>]+>#","",$data);//保留<li>标签对作为匹配标志,去掉其他标签preg_match_all("#<li>([^>]+)</li>#",$puredate2,$arr2);print_r($arr2[1]);两种方式,看你喜好 初学PHP遇到的传值问题,求高手解答 url传中文参数乱码问题 动态网页地址如何变成静态 date时间函数的问题 php文件无法在本地的IE上浏览 php如何做日志记录? windows 2000下php调用java出现问题,如果解决? 想做个在线考试系统大家有什么建议和方法?有以前做过的朋友介绍一下经验.谢了 有没有这么一种技术??? 求解!!谜之错误! 各位兄弟们,这个找不到在哪里? php自动下载图片
preg_match_all($mode,$data,$arr);
print_r($arr);
preg_match_all($mode,$data,$arr);
print_r($arr[2]);
应该好使 你试一试吧 哪位高手还有更好 更简单的写法 拿出来 我感觉这个我写的恶心啦一点
$arr1 = preg_split("@</li>@",$puredate1);
print_r($arr1);//结果回多出最后1个空,可以这里处理也可以在前面多1步抹去最后1个</li>$puredate2 = preg_replace("#<(?!/?li)[^>]+>#","",$data);//保留<li>标签对作为匹配标志,去掉其他标签
preg_match_all("#<li>([^>]+)</li>#",$puredate2,$arr2);
print_r($arr2[1]);两种方式,看你喜好