全球主机交流论坛

标题: curl获取到内容后,怎么处理。。 [打印本页]

作者: muyang    时间: 2014-8-17 20:53
标题: curl获取到内容后,怎么处理。。
如题,按网上的例子,用curl获取到了内容后,不知道怎么进一步来处理

比如 $neirong 是用curl获取到的网页内容,但这个内容量太多了

我只想截取 $neirong 中以下部分


<div class="zhengwen"> 只想要这里的内容。。 </div>


这个截取代码用php该怎么写。。

只会些html,麻烦知道的大大给出具体的php代码
作者: h947136    时间: 2014-8-17 20:57
preg_match('!.*\<div class="zhengwen"\>(.*)\<\/div\>.*!u',$neirong,$match);
echo $match['1'];
不知道对了没,本人菜鸟,
作者: mulao    时间: 2014-8-17 21:02
preg_match('|<div class="zhengwen">(.*)</div>|isU' , $neirong,$match);
echo $match['1'];

当然,个体情况还要具体分析
作者: muyang    时间: 2014-8-17 21:05
本帖最后由 muyang 于 2014-8-17 21:07 编辑

Notice: Undefined offset: 1 in G:\xamp\htdocs\123.php on line 20

楼上两位兄弟,这是啥错误,第20行,是那个echo $match['1'];



另:我直接echo $neirong; 到是不出错,是获取对像的整个网页。。
作者: 我是大傻瓜    时间: 2014-8-17 21:07
muyang 发表于 2014-8-17 21:05
Notice: Undefined offset: 1 in G:\xamp\htdocs\123.php on line 20

楼上两位兄弟,这是啥错误,第20行, ...

正则匹配不到吧。输出看看就知道了
作者: h947136    时间: 2014-8-17 21:09
本帖最后由 h947136 于 2014-8-17 21:12 编辑
muyang 发表于 2014-8-17 21:05
Notice: Undefined offset: 1 in G:\xamp\htdocs\123.php on line 20

楼上两位兄弟,这是啥错误,第20行, ...


这是没有匹配到,试试var_dump($match);看看有没有匹配到

试试加上这个,curl_setopt($句柄, CURLOPT_RETURNTRANSFER,1 )
作者: 雨宫音羽    时间: 2014-8-17 21:19
https://github.com/samacs/simple_html_dom
http://**blogs.com/eczhou/archive/2013/03/15/2961354.html

用这个class吧 咱以前用过还不错
作者: muyang    时间: 2014-8-17 21:20
获取到了,刚才是我少写了反斜杠好像,不过获取到的内容编码好像有错,是乱码

我直接输出$neirong到是没编码错误
作者: h947136    时间: 2014-8-17 21:37
muyang 发表于 2014-8-17 21:20
获取到了,刚才是我少写了反斜杠好像,不过获取到的内容编码好像有错,是乱码

我直接输出$neirong到是没编 ...

header('Content-type:text/html;charset=utf-8');
//一般是utf-8,具体查看你的网页
作者: muyang    时间: 2014-8-17 21:44
能不能不改变本地网页编码,直接改$match的数据为gbk之类的

(获取对像网页编码是utf8,我本地测试是gbk)
作者: 暮雨秋晨    时间: 2014-8-17 21:59
muyang 发表于 2014-8-17 21:44
能不能不改变本地网页编码,直接改$match的数据为gbk之类的

(获取对像网页编码是utf8,我本地测试是gbk) ...

iconv()欢迎您
作者: mulao    时间: 2014-8-17 22:01
我觉得你还是统一编码的好
我已经很久不用gbk了
都是用utf8
这样基本不会出现编码问题
作者: muyang    时间: 2014-8-17 22:02
好了都解决了。麻烦楼上各位大大了,再次感谢
作者: muyang    时间: 2014-8-17 22:03
mulao 发表于 2014-8-17 22:01
我觉得你还是统一编码的好
我已经很久不用gbk了
都是用utf8

感谢兄弟的提醒,要是用着转换过来的不方便,我再换成统一编码的,
再次感谢大大们的指点




欢迎光临 全球主机交流论坛 (https://d.168530.xyz/) Powered by Discuz! X3.4