svnno****@sourc*****
svnno****@sourc*****
2010年 8月 11日 (水) 14:44:09 JST
Revision: 871 http://sourceforge.jp/projects/p2-php/svn/view?view=rev&revision=871 Author: rsk Date: 2010-08-11 14:44:08 +0900 (Wed, 11 Aug 2010) Log Message: ----------- expack: - P2DOMã¯ã©ã¹ãä¿®æ£ã Modified Paths: -------------- p2ex/trunk/lib/P2DOM.php -------------- next part -------------- Modified: p2ex/trunk/lib/P2DOM.php =================================================================== --- p2ex/trunk/lib/P2DOM.php 2010-08-11 05:28:43 UTC (rev 870) +++ p2ex/trunk/lib/P2DOM.php 2010-08-11 05:44:08 UTC (rev 871) @@ -45,12 +45,6 @@ if ($this->_conversionFailed && $fallbackEncodings) { $orig_html = $html; foreach ($fallbackEncodings as $charset) { - // iconv_strlen() Å`FbN - if (function_exists('iconv_strlen')) { - if (false === iconv_strlen($html, $charset)) { - continue; - } - } // <head>¼ãÉ<meta>ðßÞ $charset = htmlspecialchars($charset, ENT_QUOTES); $html = str_replace('<rep2:charset>', @@ -59,6 +53,9 @@ $this->_conversionFailed = false; $document = new DOMDocument; $document->loadHTML($html); + if (!$this->_conversionFailed) { + break; + } } } } catch (Exception $e) { @@ -154,8 +151,10 @@ */ public function checkConversionFailure($errno, $errstr) { - if ($errno === E_WARNING && preg_match('/(?:input conversion failed|encoder error)/', $errstr)) { - $this->_conversionFailed = true; + if ($errno === E_WARNING) { + if (strpos($errstr, 'input conversion failed') !== false) { + $this->_conversionFailed = true; + } return true; } return false;