2012-02-10 11 views
0

こんにちは私は出力$ docから[content]項目をすべて取り出し、それらをまとめてタグクラウドで使用したいと考えています。どのようにして[コンテンツ]のすべての項目を1つの変数に抽出できますか?さらに明確化することなくSimpleXMLElementオブジェクト[content]要素を変数に結合します

$ch = curl_init("http://api.sysomos.com/hb/v1/heartbeat/rss?startid=0&hbrss=DUpnCTqppKjx4q1U6FXd5SWOPFUa2ltLm1haXJAYi1hbmQtcS5jby51aw..&maxC=6&max=30&hid=2535& fTs=me&dRg=7&tab=beats&scO=Recency&"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
$data = curl_exec($ch); 
curl_close($ch); 
$doc = new SimpleXmlElement($data, LIBXML_NOCDATA); 
print_r($doc); 

答えて

0

、あなたがトラブル個々<content>のノードの文字列値を取得する抱えているようですか?その場合は、次の点を考慮してください

$str = ' 
<xml> 
    <content>content1</content> 
    <somethingElse>DOH!</somethingElse> 
    <content>content2</content> 
    <content>content3</content> 
</xml> 
'; 

$doc = new SimpleXMLElement($str); 
$vals = array(); 
foreach ($doc->content as $content) { 
    $vals[] = (string) $content; 
} 

print_r($vals); 

この意志出力:あなたのコメントを1として

Array 
(
    [0] => content1 
    [1] => content2 
    [2] => content3 
) 

UPDATE

を、次のような追加のimplodeコールして上記と同じ戦術を使用することができますso:

$vals = implode('', $vals); 
echo $vals; // outputs: content1content2content3 

または

$vals = ''; 
foreach ($doc->content as $content) { 
    $vals .= (string) $content; 
} 
echo $vals; // outputs: content1content2content3 
+0

私はすべてのコンテンツノードを1つの文字列に結合しようとしています。申し訳ありませんが、これは質問ではっきりしていない場合。 –

+0

@BenPaton updated answer – rdlowrey

+0

print_rがページ上に「Array()」と表示されているように見えますが、これはなぜでしょうか?これは、コンテンツノードを一緒にインボートしようとせずに、コードの最初のブロックからのものです。 –

関連する問題