gpt4 book ai didi

php - 使用 Dom 从 HTML 获取内容时显示错误

转载 作者:可可西里 更新时间:2023-10-31 23:48:08 24 4
gpt4 key购买 nike

当我使用 dom 从此链接获取内容时: link here

我已经得到这个内容是 html 如下:

<div align="justify"> “…Và  em muốn biết, nÆ¡i trái tim vẫn nhá»› thÆ°Æ¡ng âm thầm bao lâu nay /Sẽ mang đến cho mình Æ°á»›c mÆ¡ vá» hạnh phúc ấy /Hay là  ná»—i xót xa, có hay /Rằng tình yêu em luôn bao la /Rồi sẽ tá»›i má»™t ngà y anh chợt nhận ra , tình ta nhÆ° đóa hoa đợi khi nắng mai /Khi đôi môi lại rạng rỡ , tình ta chẳng phai nhòa…â€â€“ giai Ä‘iệu ngá»t ngà o của má»™t ca khúc vang lên trong chÆ°Æ¡ng trình radio Ä‘ang phát sóng là m cô chợt chạnh lòng. Má»™t cảm giác vừa quen vừa lạ nhen lên nÆ¡i trái tim. Cô cố gắng lục lại trí nhá»› của mình: 30 giây! 1 phút! 2 phút! Chợt, mắt cô thoáng buồn, cảm xúc trong trái tim cô nhÆ° vỡ òa khi tất cả nhÆ° má»™t cuốn phim chạy chậm trong trí nhá»› cùng má»› cảm xúc há»—n Ä‘á»™n: Dòng thá»i gian trở vá» trong cuốn phim là  những kỉ niệm cùng anh – chà ng sÄ© quan hải quân. </div>

虽然这个链接内容如下:

 <div align="justify">1. Em không đẹp như các cô bạn gái trước đây của tôi. Em cũng không dịu dàng và nhìn tôi bằng ánh mắt trìu mến như họ. Em còn có một nhóc con đã ba tuổi, thằng bé dễ thương, kháu khỉnh và có đôi mắt buồn giống hệt mẹ. Em như một bông hoa dại cô độc, từng cánh hoa đơn trắng muốt, nhụy hoa vàng mềm mại, thân dài mảnh mai với những chiếc lá thanh mảnh, run rẩy nở trong gió nhưng không bao giờ cong gãy. Còn tôi, với đôi tay luôn được bao bọc trong lồng kính, lại tùy tiện ngắt hoa, không biết rằng trên đó có gai, cũng không hề biết rằng nó sẽ làm cho trái tim mình ứa máu. Đã hơn một lần tôi thổ lộ lòng mình với em nhưng đều nhận được ánh mắt lạnh lùng và lời từ chối phũ phàng:</div>

我知道这里有错误格式,但我无法修复它。我怎样才能在 php 中解决这个问题?

这是我的代码:

$link_mp3=$linkTemp.HadlingLink($html2->find('object#jwplayer param [name=flashvars]',0)->value);
//echo $link_mp3.'<br/>';

$arrayContents=$html2->find('div[align=justify]');
//var_dump($content);
$contents='';
foreach ($arrayContents as $content){
$contents=$contents.$content->outertext;
}
echo $contents;

当我更改一点代码时:

echo utf8_decode($contents); 

它显示:嗯? cô nàng ??ng ??nh, ??t át, ?m m?c kiêu k? ??ng gi?a anh chàng mùa ?ông l?nh lùng và anh chàng mùa h? ?map.

更新日期:

我按如下方式解决了我的问题:添加

CURLOPT_ENCODING => "UTF-8", // handle all encodings

当使用 curl 获取 html 时。这是函数

 static function get_web_page($url)

{


$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "UTF-8", // handle all encodings
CURLOPT_USERAGENT => "spider", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 200, // timeout on connect
CURLOPT_TIMEOUT => 200, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);

$ch = curl_init($url);
curl_setopt_array($ch, $options);
$content = curl_exec($ch);
$err = curl_errno($ch);
$errmsg = curl_error($ch);
$header = curl_getinfo($ch);
curl_close($ch);

$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}

最佳答案

在您的 html 页面中使用以下“元”标记。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

关于php - 使用 Dom 从 HTML 获取内容时显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22740656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com