首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Dom从HTML获取内容时显示错误

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

Stack Overflow用户
提问于 2014-03-30 13:34:37
回答 1查看 166关注 0票数 4

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

我得到的内容是html,如下所示:

代码语言:javascript
运行
复制
<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>

虽然此链接的内容如下:

代码语言:javascript
运行
复制
 <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中修复这个问题?

下面是我的代码:

代码语言:javascript
运行
复制
$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;

当我更改了一点代码时:

代码语言:javascript
运行
复制
echo utf8_decode($contents); 

它显示: Nh?nàng ??ng ?nh,??tát,?m m?c kiäu k? ng?a anh chàng müa?óng l?nh lüng và和h??Máp。

更新日期:

我修复了我的问题如下:添加

代码语言:javascript
运行
复制
CURLOPT_ENCODING => "UTF-8", // handle all encodings

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

代码语言:javascript
运行
复制
 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;
    }
EN

Stack Overflow用户

发布于 2014-04-07 20:43:09

在你的html页面中使用下面的'meta‘标签。

代码语言:javascript
运行
复制
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22740656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档