ワードプレスフィードからのエンコードに問題があり、理解できないようです。
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"]);
私は何時間もこれを理解しようとしてきました、そして私は間違ったことに戻って回り続けます。
助けてくれてありがとう!
ご存知のとおり、アポストロフィが疑問符に変わっているようです。それが唯一の問題かどうかはわかりません。