2017-04-18 2 views
1

私はPHPには新しく、このプロジェクトをやって自分自身を少し教えています。XMLレスポンスをForeach配列に保存/アルファベット化

私はReuters RSSフィードからXMLデータをインポートしており、すべての回答の内容をアルファベット順に並べ替えたいと考えています。私はforeachループを使用してページに必要な情報をロードするのに問題はありませんでしたが、私が使用しているソートシステムでは、1つの文字列としてではなく、各xmlタイトルの単語を個別にアルファベット順に並べ替えます。

すべての応答をグループ化して保存すると、foreachループによって収集されたすべての応答をまとめて並べ替えることができますか?

<?php 

function getFeed($feed_url) { 

$content = file_get_contents($feed_url); 
$x = new SimpleXmlElement($content); 
$string = $x->channel->item ; 

echo "<p>"; 

foreach($x->channel->item as $entry) { 
    $string = $entry->title; 
    $split=explode(" ", $string); 
    sort($split); // sorts the elements 
    echo implode(" ", $split); //combine and print the elements 
} 

echo "</p>"; 

}?> 
+0

これらの変数が何を意味するかもしれないとして、XMLのサンプルなしで助けることは非常に難しいです!また、私はこのユニークなソートを見ることに興味があります。*各XMLタイトルの単語を1つの文字列としてまとめて、アルファベット順にアルファベット順に並べ替えます。それで、各タイトルの言葉が変わりますか? – Parfait

+0

私が使用しているXML文書は、ここにあります:http://feeds.reuters.com/Reuters/PoliticsNews – samseurynck

+0

タイトルを一緒にアルファベット順に並べることによって意味するものは、次のとおりです。 "政権が、ルールシャットダウンタスクの技術者トランプ政権は共和党が米国を回避するトリッキーな課題に直面し、テロの犠牲者がUSIndian技術者 トランプに移住することを可能にするルールを変更することができ、「 ...
とは対照的に、」にトリッキーなトランプトランプUSUSの被害者にあることの恐怖政府のシャットダウン " – samseurynck

答えて

0

あなたに欠けている何かここ

は、私がこれまで持っているものですすべての単語を含む配列を作成し、最後に並べ替えます。

<?php 

function getFeed($feed_url) {  
    $content = file_get_contents($feed_url); 
    $x = new SimpleXmlElement($content); 
    $titles = ""; 
    foreach($x->channel->item as $entry) { 
     $titles .= " $entry->title"; 
    } 
    $split = explode(" ", $titles); 
    sort($split, SORT_FLAG_CASE | SORT_NATURAL); 
    return trim(implode(" ", $split)); 
} 

$words = getFeed("http://feeds.reuters.com/Reuters/PoliticsNews"); 

echo "<p>$words</p>"; 

私は単語以外の文字を削除しなかったので、引用符のようなものは並べ替えを混乱させるでしょう。

出力:

<p>'sanctuary' abuse after announcement, areas as battle California, cards, case crises cut detention drill Egyptian Egyptian-American Exxon financial Florida for freed from funding future give green greets healthcare Homeland hope in in in in Indian looms not of officials orders orders other permission plan possible prevent probe probes racial reboot reform resigns revamped review review review rule rules Russia Security see seeks senator sets slur state summons tax tax testify threatens to to to to Top Trump Trump Trump Trump Trump Trump-Russia Twitter U.S. U.S. U.S. U.S. Uphill visa-holders Waiting Washington will</p> 
+0

ああ、これです!ありがとうございました。 – samseurynck

0

、ソート、配列にその値を、タイトルを保存を検討した後、echo出力のために戻って繰り返す:

$content = file_get_contents("http://feeds.reuters.com/Reuters/PoliticsNews"); 
$x = new SimpleXmlElement($content); 

$titles = []; 
foreach($x->channel->item as $entry) { 
    $titles[] = $entry->title; 
} 

sort($titles, SORT_NATURAL | SORT_FLAG_CASE); # CASE INSENSITIVE SORT 

foreach($titles as $t) { 
    echo "<p>". $t ."</p>"; 
} 

# <p>Ex-Illinois Governor Blagojevich's 14-year prison term upheld</p> 
# <p>Exxon probe is unconstitutional, Republican prosecutors say</p> 
# <p>Group sues Trump for repealing U.S. wildlife rule in rare legal challenge</p> 
# <p>Indian techies, IT firms fret as Trump orders U.S. visa review</p> 
# <p>Trump, Republicans face tricky task of averting U.S. government shutdown</p> 
# <p>Trump administration may change rules that allow terror victims to immigrate to U.S.</p> 
# <p>U.S. House committee sets more hearings in Trump-Russia probe</p> 
# <p>U.S. judicial panel finds Texas hurt Latino vote with redrawn boundaries</p> 
# <p>U.S. retailers bet on Congress over Bolivia to thwart Trump border tax issue</p> 
# <p>U.S. Treasury's Mnuchin: Trump to order reviews of financial rules</p> 
関連する問題