PHP Simple HTML DOM 简单使用

本文介绍如何结合cURL远程抓取页面,并使用Simple HTML DOM解析生成DOM结构,以便进行类似jQuery的DOM操作。提供了相关文档链接和下载地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般与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;
附一个cURL 远程请求

支持自定义请求方法

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 用法 请阅读文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值