我很多年沒有使用過PHP,我試圖以一種需要高音單元名稱的方式來操縱tweet的RSS源。我目前正在從TwitRSS提取RSS提要,並且除了高音單元的名稱使用名稱空間,所以元素都聲稱高音單元名稱以外,它都工作正常。我在這個網站上看到了很多關於如何使用命名空間的主題,並且我嘗試了所有這些都沒有成功。如何用SimpleXML替換名稱空間?
現在我的代碼如下所示:
$newsoutput = new SimpleXMLElement('http://twitrss.me/twitter_search_to_rss/?term=php', LIBXML_NOCDATA, true);
$newsoutput = json_decode(json_encode($newsoutput), TRUE);
foreach ($newsoutput['channel']['item'] as $item) {
echo $item['title']."<br>".$item['description']."<br>".$item['link']."<br>".$item['guid']."<br>".$item['pubDate']."<br>";
echo $item['author']."br";}
那當然對所有正常的元素是回聲的出正常工作,但每當我試圖讓該命名空間標記每次我試圖解決導致錯誤消息在循環中。通常它與子元素爲空有關。
現在我想嘗試一種不同的解決方案。我想做一個字符串替換,它將改變每個命名空間元素與一個非命名空間元素。理想情況下,生成的RSS提要將使每個元素都被替換,然後正常回顯出來。
我嘗試添加的東西,如:
$newsoutput->str_replace("dc:creator","author","");
我在循環之前加入,因爲我會假設,item元素的數組將有循環和echo'ing前的SimpleXML數組中被改變。我知道我所做的一個問題是php str_replace需要3個參數,我只能想到兩個。我想要替換的詞以及我想要替換的詞。我還需要什麼?我還認爲,在運行新命名空間免費提要的循環之前,我可能必須運行循環來替換字符串。
哎呀,「高音單元名稱」應與命名空間中的標籤包圍,但它得到了剝離出來 – XCon065
'str_replace'是一個全球性的功能。 ' - > str_replace'正在使用類方法。你反對做錯了。 –
oops,作者被留在那裏從以前的字符串替換嘗試 – XCon065