这篇文章主要介绍了PHP xpath提取网页数据内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
想要使用xpath来解析html内容, PHP自带两个对象
DOMDocument,DOMXpath,其中初始化 loadHtml一般都会报很多警告,但是并不影响使用,用@屏蔽错误。
/**
* 初始化DOMXpath对象
*
* @param [type] $content 网页内容
* @param [array] $pathinfo 匹配信息
*
* @return void
*/
private function _createXpathObj($content, $patinfo)
{
// 如果没有xpath配置项,不初始化xpath
if (!$this->_existsXpathParse($patinfo)) {
return;
}
try {
$dom = new \DOMDocument();
@$dom->loadHtml($content);
$dom->normalize();
$xpath = new \DOMXpath($dom);
$this->xpathObj = $xpath;
} catch (\Exception $e) {
getService('logger')->warning('Parse html fail', ['content' => $content]);
}
}
其中 $node 为 DOMElement 对象。
/**
* 获取Xpath解析值
*
* @param [type] $pat 匹配模式
*
* @return string
*/
private function _getXpathField($pat)
{
$objs = $this->xpathObj->query($pat);
if ($objs->length > 0) {
$node = $objs->item(0);
$outerHTML = $node->ownerDocument->saveHTML($node);
return trim($outerHTML);
# 作为示例 输出innerhtml
//$innerHTML = '';
//foreach ($node->childNodes as $childNode){
// $innerHTML .= $childNode->ownerDocument->saveHTML($childNode);
/
沃梦达教程
本文标题为:PHP xpath提取网页数据内容代码解析
基础教程推荐
猜你喜欢
- Yii框架连表查询操作示例 2023-02-13
- PHP+MySQL+sphinx+scws实现全文检索功能详解 2023-01-31
- php实现构建排除当前元素的乘积数组方法 2022-11-23
- php数组函数序列之array_sum() – 计算数组元素值之和 2024-01-15
- 设定php简写功能的方法 2023-03-17
- PHP手机短信验证码实现流程详解 2022-10-18
- php实现数组筛选奇数和偶数示例 2024-02-05
- PHP判断一个字符串是否是回文字符串的方法 2024-01-31
- PHP实现抽奖系统的示例代码 2023-06-26
- PHP实现文件下载【实例分享】 2024-04-27
