一般与curl配合使用
远程抓取页面内容后,利用 Simple HTML DOM生成dom结构,之后可以像jQuery 一样方便的操作dom
<?php
$ch = curl_init();//初始化一个cURL会话
curl_setopt($ch ,CURLOPT_URL ,'http://www.hao123.com');//设置 URL
curl_setopt($ch ,CURLOPT_HEADER ,0);//是否返回头信息
curl_setopt($ch ,CURLOPT_RETURNTRANSFER ,1);//将curl_exec()获取的信息以字符串返回,而不是直接输出
$str = curl_exec($ch);//返回字符串
curl_close($ch);//释放资源
// 引入文件 simple_html_dom
require_once 'simple_html_dom.php';
//创建dom对象
$html = new simple_html_dom;
// 载入html字符串
$html->load($str);//$html = str_get_html($str);
//找到所有的链接 去掉链接 最后输出到浏览器查看效果(请做你想做的!)
if( $links = $html->find('a') )
{
foreach( $links as $a )
{
$a->href = null;//删除属性 清空的话 $a->href='';
}
}
$newstr = $html->save();//$newstr = $html;
$html->clear();
unset($html);
echo $newstr;
支持自定义请求方法
function remoteRequest($url, $data = null ,$method='GET')
{
$ch= curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//设置请求头信息 这里是json数据
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json;charset=utf-8'));
//$tokenId = $_COOKIE['tokenId']
curl_setopt($ch ,CURLOPT_COOKIE ,'tokenId='.$tokenId);//发送cookie
switch ($method) {
case 'GET':
break;
case 'POST':
curl_setopt($ch, CURLOPT_POST, 1);
break;
case 'PUT':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
break;
case 'DELETE':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
break;
case 'PATCH':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
break;
}
if( $data )
{
$data = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$str = curl_exec($ch);
curl_close($ch);
return $str;
}
就酱,更多Simple HTML DOM 用法 请阅读文档