0

我在从 wordpress 提要进行编码时遇到问题,我似乎无法弄清楚。

我正在使用 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"]);

几个小时以来,我一直试图解决这个问题,但我一直在寻找错误的东西。

谢谢您的帮助!

你知道的,似乎撇号变成了问号……天哪!我不知道这是否是唯一的问题。

4

1 回答 1

1

回显的字符串以 UTF-8 编码。

  • 如果您的页面是用 UTF-8 编码的,您可以直接回显它,可能会调用htmlspecialchars设置为“UTF-8”的第三个参数。
  • 否则,您必须先将其转换为您的网页使用的任何编码。见iconvmb_convert_encoding
于 2010-06-28T16:51:28.690 回答