这个php正则为什么不能工作呢?在线等~
程序员文章站
2023-12-31 10:27:28
...
本帖最后由 chuantian15 于 2013-09-12 20:48:41 编辑
这是网页直接输出的内容,我需要中间那个102,因为这里是最大的页码,前面有很多个charset=\"000000\">,所以只能通过尾部\n\t\t\t\n\n"}判断位置。
在线等~
比如先查找\n\t\t\t\n\n"},然后把前面的数字提取,直到发现charset=\"000000\">就停下来
(\/d+)\n\t\t\t\n\n"}/',$html,$m));print_r($m[0]);?>
charset=\"000000\">102\n\t\t\t\n\n"}
这是网页直接输出的内容,我需要中间那个102,因为这里是最大的页码,前面有很多个charset=\"000000\">,所以只能通过尾部\n\t\t\t\n\n"}判断位置。
在线等~
回复讨论(解决方案)
$m = array(preg_match(...));
print_r($m[0]);
这种用法实在让人理解不了
另外正则引擎也要处理转义,所以要想把 \n 正确传递给正则引擎要经过两次转义要加很多 \
$str = 'charset=\"000000\">102\n\t\t\t\n\n"}';preg_match('/charset=\\\\"(.*)\\\\">(\d+)\\\\n\\\\t\\\\t\\\\t\\\\n\\\\n"}/',$str,$m);print_r($m);
谢谢hengyu654,不过最终返回的结果,是整个网站的源码,不过看起来有希望可以得到102了。
网页输出的直接内容,就是这么一段,有没有比正则更好的获取方式呢?
charset=\"000000\">102\n\t\t\t\n\n"}
比如先查找\n\t\t\t\n\n"},然后把前面的数字提取,直到发现charset=\"000000\">就停下来
谢谢你的代码, 全部搞定了!!!!!!!
hengyu654学霸、土豪、大哥!来亲一个~~~么么哒~~
推荐阅读