PHP正则表达式高手来

[复制链接]
查看11 | 回复1 | 2010-8-19 21:35:06 | 显示全部楼层 |阅读模式
我想用preg_match_all来读一个页面里的数据,并把里面[]中的数据提取出来。数据如下
1 [[url=]2[/url]] [[url=]3[/url]] [[url=]4[/url]] [[url=]5[/url]] [[url=]6[/url]] [[url=]7[/url]] [[url=]8[/url]] [[url=]9[/url]] [[url=]10[/url]] [[url=]下一页[/url]]


我用的方法是:
(.*)|isU",$body,$fenyequyu);
preg_match_all("|.*[(.*)].*|isU",$fenyequyu[1][0],$fenyequyuliebiao);
foreach ($fenyequyuliebiao[1] as $key => $value){
echo preg_replace("|?c=.*&a=&l=2&p=(.*)\">|","/list/".$_GET['id']."-$1.html\">",$value);
}
?>
可是不行,请高手指点下,怎么才能把[]里面的数据读出来,并转化成我想要的如?c=12&a=&l=2&p=1变成/list/12-1.html

回复

使用道具 举报

千问 | 2010-8-19 21:35:06 | 显示全部楼层
如果只是提取href试试看这么写(简单的):/\[\s*/$match = array();$num = preg_match_all($pattern,$html,$match,PREG_SET_ORDER);$match[0-N]是N个获取的匹配结果数组,其中$match[$i]中第一个是匹配的原文本,$match[$i][1-3]分别是c=? l=? p=?if(coun
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行