国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP解析html類庫simple_html_dom的轉(zhuǎn)碼bug

PHP解析html類庫simple_html_dom的轉(zhuǎn)碼bug

2020-06-30 12:07php技術(shù)網(wǎng) PHP教程

這篇文章主要介紹了PHP解析html類庫simple_html_dom的轉(zhuǎn)碼bug ,需要的朋友可以參考下

這幾天有在用simple_html_dom抓一些文章。不同網(wǎng)站的編碼在國內(nèi)基本上是gbk gb2312 utf-8。而以gb2312和utf-8居多。

我這一版的simple_html_dom有一個方法 convert_text 是這個樣子的。

 

復(fù)制代碼 代碼如下:

 // PaperG - Function to convert the text from one character set to another if the two sets are not the same.
 function convert_text($text)
 {
  global $debug_object;
  if (is_object($debug_object)) {$debug_object->debug_log_entry(1);}
  $converted_text = $text;
  $sourceCharset = "";
  $targetCharset = "";
  if ($this->dom)
  {
   $sourceCharset = strtoupper($this->dom->_charset);
   $targetCharset = strtoupper($this->dom->_target_charset);
  }
  if (is_object($debug_object)) {$debug_object->debug_log(3, "source charset: " . $sourceCharset . " target charaset: " . $targetCharset);}
  if (!empty($sourceCharset) && !empty($targetCharset) && (strcasecmp($sourceCharset, $targetCharset) != 0))
  {
   // Check if the reported encoding could have been incorrect and the text is actually already UTF-8
   if ((strcasecmp($targetCharset, 'UTF-8') == 0) && ($this->is_utf8($text)))
   {
    $converted_text = $text;
   }
   else
   {
    $converted_text = iconv($sourceCharset, $targetCharset, $text);
   }
  }
  // Lets make sure that we don't have that silly BOM issue with any of the utf-8 text we output.
  if ($targetCharset == 'UTF-8')
  {
   if (substr($converted_text, 0, 3) == "\xef\xbb\xbf")
   {
    $converted_text = substr($converted_text, 3);
   }
   if (substr($converted_text, -3) == "\xef\xbb\xbf")
   {
    $converted_text = substr($converted_text, 0, -3);
   }
  }
  return $converted_text;
 }

 

來看這一行:

 

復(fù)制代碼 代碼如下:

    $converted_text = iconv($sourceCharset, $targetCharset, $text); 

 

會引起轉(zhuǎn)碼不正確。比如會把gb2312的文字轉(zhuǎn)成:

 

復(fù)制代碼 代碼如下:

4月26日在<span style="color:#C03">鏈濋槼</span>公園馬術(shù)場舉行的2014浪琴國際馬聯(lián)場地障礙世界杯中國聯(lián)賽資格賽上,24歲的韓壯壯不僅拿到零罰分的成績 ...第7個出場的<span style="color:#C03">鍖椾含</span>奧運騎手趙志文第一個收獲零罰分,用時77秒07 ...

 

既成的事實了,證明里頭的轉(zhuǎn)碼功能沒有處理好。由于我使用這個simple_html_dom只是想要用來構(gòu)建dom。我并沒有打算花時間去很好地處理這個bug。而是簡單地把

 

復(fù)制代碼 代碼如下:

$converted_text = iconv($sourceCharset, $targetCharset, $text);

 

改成

 

復(fù)制代碼 代碼如下:

$converted_text = $text;

 

就行了。思路就是取消它的轉(zhuǎn)碼。好吧工作不必糾結(jié),可以繼續(xù)了。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久久国产一区二区三区 | 蜜桃av一区二区三区 | 91社区福利| 综合久久亚洲 | 亚洲一区二区三区精品动漫 | 国产资源在线播放 | 亚洲免费看av | 成人欧美一区二区三区在线播放 | 午夜精品福利在线观看 | 亚洲成人一级片 | 黄色片在线免费观看 | 国产成人99久久亚洲综合精品 | 青青国产在线 | 最新日韩av | 国产亚洲欧美美 | 中文字幕av黄色 | 国产精品一区av | 播放毛片 | 中文二区 | 激情五月婷婷综合 | 久久久精品欧美 | 高清日韩av | 国产午夜精品久久久久久久 | 国内精品久久久久久久影视红豆 | 欧美一区三区 | 爱操av | 亚洲高清免费视频 | 久草美女| 亚洲香蕉在线观看 | 一区二区日韩 | 欧美国产日韩一区 | 日韩一区二区在线免费 | 国产毛片视频 | 国产精品毛片久久久 | 欧美精品久久久久久久久老牛影院 | 欧美一级片在线播放 | aa一级毛片| 精品久久久久久久久久久 | 男女做爰猛烈叫床无遮挡 | 欧美成人午夜视频 | 国产精品一码二码三码在线 |