Posted in PHP onApril 01, 2021
phpQuery解析HTML( $dom = new DOMDocument(); )在有html头部时会去识别查询<meta
charset=“字符编码”>,对按charset编码去解析,但部分html的编码声明是使用<meta
http-equiv=“content-type” content=“text/html; charset=字符编码” />
这个时候只需要对要解析的内容拼接“<meta charset=“字符编码”>”即可;
<?php
date_default_timezone_set("PRC");
require 'script/phpQuery.php';
require 'script/QueryList.php';
use QL\QueryList;
$html = file_get_contents('20201214100823_booking.html');
// 采集规则
$rules = [
// 文章标题
'title' => ['.sr-hotel__title>a:eq(0)>span:eq(0)','text'],
// // 文章链接地址
// 'link' => ['a:eq(0)','href'],
// // 文章缩略图
// 'img' => ['img:eq(0)','src'],
// // 文章简介
// 'summary' => ['p:eq(0)','text']
];
$range = '#hotellist_inner>div';
$html = '<meta charset="UTF-8">'.$html;
$data = QueryList::Query($html,$rules,$range)->data;
print_r($data);
其他乱码解析方案请移至phpQuery中文手册
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
- Author -
slongzhang_声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@