У меня возникла проблема с кодировкой из фида Wordpress, который я просто не могу понять.PHP DomDocument, проблема с кодировкой DomXPath
Я загружал свой канал с помощью DOMDocument-> load, но потом сделал file_get_contents и теперь использую -> XMLload с теми же результатами. Я сделал XMLload, чтобы я мог манипулировать фидом, если это необходимо.
Правильный результат, который я ищу, это - ‘ £
. Если я просто эхо из запроса Xpath, я получаю - ‘ £
. Если я эхо с utf8_decode, я получаю - ? £
. Гораздо лучше, но вопросительный знак должен быть апострофом.
Если я прохожу через каждый узел DomDocument, когда он загружен, я получаю правильный вывод. Похоже, что это неправильно обрабатывается в XPath.
Любые мысли?
корм http://shredeasy.com/blog/category/news/feed
Вот функция, которая вызывается:
function getPostsInCategory($feed=NULL){
if(is_null($feed)){ echo "Wrong Usage. Need a valid Category Feed. Most likely from getCategories()."; return false; }
$feedx = file_get_contents($feed);
$xml = new DOMDocument();
$xml->loadXML($feedx);
//$this->showDOMNode($xml);
//$xml->load($feed);
$xpath = new DomXPath($xml);
$xpath->registerNamespace("content", "http://web.resource.org/rss/1.0/modules/content/");
$cat = array();
foreach($xml->getElementsByTagName('item') as $c){
$elements = array();
$elements["title"] = $xpath->query("title", $c)->item(0)->nodeValue;
echo utf8_decode($elements["title"]);
Я пытался выяснить это в течение нескольких часов, и я продолжаю кружить назад неправильные вещи.
Спасибо за помощь!
Вы знаете, что кажется, что апострофы превращаются в вопросительные знаки ... Гоша! Я не знаю, является ли это единственной проблемой или нет.
Что такое кодировка * вашей страницы *? server/meta element ... –
–