phpQuery解析HTML乱码问题

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乱码问题

上一篇:js获取鼠标的位置


下一篇:Java线程静态在对象缓存中的妙用