PHP采集时的问题
正则:$preg="/<divid='(,*)'>(.*)<\/div>/";preg_match_all($preg,$str,$match);echo$match[0...
正则:$preg = "/<div id='(,*)'>(.*)<\/div>/";
preg_match_all($preg,$str,$match);
echo $match[0][0];
上面是可以取到匹配的这个DIV 的
但匹配BODY时就不行,就是把 DIV改成BODY 即:$preg = "/<body>(.*)<\/body>/";
为什么?
zzs1949 - 初级经理 七级 的回答 很感谢 你的测试确实是OK的
但如果$str1 不是这么简单的就出现问题了,我吧代码给出来,你测试一下
<?php
$curl = curl_init();
// 设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL,"http://www.cloudscn.com/staticpage/505/20091102/34.html");
// 设置header
curl_setopt($curl, CURLOPT_HEADER, 1);
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 运行cURL,请求网页
$str1 = curl_exec($curl);
// 关闭URL请求
curl_close($curl);
//echo $str1;
$preg = "/<body>(.*)<\/body>/";
preg_match_all($preg,$str1,$match);
//$match[0][0] = str_replace("<","<",$match[0][0]);$match[0][0]= str_replace(">",">",$match[0][0]);//如果你需要显示HTML源代码,请把这行取消注释
echo $match[0][0];
?> 展开
preg_match_all($preg,$str,$match);
echo $match[0][0];
上面是可以取到匹配的这个DIV 的
但匹配BODY时就不行,就是把 DIV改成BODY 即:$preg = "/<body>(.*)<\/body>/";
为什么?
zzs1949 - 初级经理 七级 的回答 很感谢 你的测试确实是OK的
但如果$str1 不是这么简单的就出现问题了,我吧代码给出来,你测试一下
<?php
$curl = curl_init();
// 设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL,"http://www.cloudscn.com/staticpage/505/20091102/34.html");
// 设置header
curl_setopt($curl, CURLOPT_HEADER, 1);
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 运行cURL,请求网页
$str1 = curl_exec($curl);
// 关闭URL请求
curl_close($curl);
//echo $str1;
$preg = "/<body>(.*)<\/body>/";
preg_match_all($preg,$str1,$match);
//$match[0][0] = str_replace("<","<",$match[0][0]);$match[0][0]= str_replace(">",">",$match[0][0]);//如果你需要显示HTML源代码,请把这行取消注释
echo $match[0][0];
?> 展开
1个回答
展开全部
完善了程序,更换了你的思路:第六行个别字符可能被百度知道强行转换,请以图片为准!测试OK
<?
$url = 'http://www.baidu.com/';;
$lines_array = file($url);
$lines_string = implode('', $lines_array);
eregi("<body>(.*)</body>", $lines_string, $body);
//$body[0] = str_replace("<","<",$body[0]);$body[0]= str_replace(">",">",$body[0]);
//如果你需要显示HTML源代码,请把上面这行取消注释,否则,浏览器可能显示错位的解析内容
echo $body[0];
?>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询