Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Кириллица, спец символы(DomDocument,DOMXPath)
Форумы портала PHP.SU » » Кодировки и все смежное » Кириллица, спец символы(DomDocument,DOMXPath)

Страниц (1): [1]
 

1. and_07 - 09 Апреля, 2014 - 10:24:37 - перейти к сообщению
Всем доброго времени суток
PHP:
скопировать код в буфер обмена
  1.  
  2. $dom = new DomDocument();
  3. $dom->loadHTML('<div><b>te</b>&nbsp;бла бла&frac12;</div>&nbsp;df');
  4. $xpath = new DOMXPath($dom);
  5. $details = $xpath->query("//div");
  6. var_dump(utf8_decode($details->item(0)->nodeValue));
  7.  


результат
te�бла бла�

те &nbsp; и &frac12;
преобразуются в �
2. armancho7777777 - 09 Апреля, 2014 - 13:11:02 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $dom = new DomDocument();
  2. $html = '<div><b>te</b>&nbsp;бла бла&frac12;</div>&nbsp;df';
  3. $dom->loadHTML(
  4.      '<meta http-equiv="content-type" content="text/html; charset=utf-8">' . $html
  5. );
  6. $xpath = new DOMXPath($dom);
  7. $details = $xpath->query("//div");
  8. echo $details->item(0)->nodeValue;
3. and_07 - 09 Апреля, 2014 - 20:13:15 - перейти к сообщению
тема закрыта
решение
http://stackoverflow[dot]com/questio[dot][dot][dot]russian-language
PHP:
скопировать код в буфер обмена
  1.  
  2. $dom = new DomDocument();  
  3. $html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
  4. @$dom->loadHTML($html);
  5.  

 

Powered by ExBB FM 1.0 RC1