私は長年に渡ってPHPを使用しておらず、トゥイーターの名前を必要とする方法でツイートの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";}
ループ内のエラーメッセージ。通常は、子要素がnullの場合と同じです。
今、私は別の解決策を試してみたいと思います。私は、名前空間以外の要素を持つすべての名前空間要素を変更する文字列置換を実行したいと思います。理想的には、結果として得られるRSSフィードは、すべての要素を置き換えてから通常どおりに出力します。
私はのようなものを追加しようとしました:私はitem要素の配列がループしecho'ing前にSimpleXMLを配列に変更されなければならないことを前提としますので、私はループの前にこれを追加しました
$newsoutput->str_replace("dc:creator","author","");
。私はPHPのstr_replaceが3つのパラメータを必要とし、私は2つしか考えることができないということを私がしているところでは一つの問題を知っています。私が交換したいと思う言葉と交換したい言葉。ほかに何が必要ですか?私はまた、新しい名前空間フリーフィードのループを実行する前に、文字列置換のループを実行する必要があるかもしれないと思う。
おっとを、「ツイーター名は」名前空間をタグで囲む必要があり、それは – XCon065
'str_replace'がグローバル関数で取り除かしまいました。 ' - > str_replace'がクラスメソッドを使用しています。あなたはそれを間違っています。 –
oops、著者は以前の文字列置換の試行からそこに残されました – XCon065