2012-02-22 7 views
0

次のコードでは、オブジェクト$authorをここに書き込むことができますか?white space occursPHPオブジェクト内のデータの分割

<?php 
$url="http://search.twitter.com/search.rss?q=laugh"; 
$twitter_xml = simplexml_load_file($url); 

foreach ($twitter_xml->channel->item as $key) { 
$a = $key->{"author"}; 
echo $a; 
} 
?> 
+0

です。 'preg_split( '/ \ s + /'、$ key - > {" author "})'はどんなタイプの空白でも分割されます。 –

答えて

0

使用explode

$array = explode(' ', $key->{"author"}); 
0

簡単にそれを達成することができます爆発機能があります。したがって、たとえば:

$a = $key->{"author"}; 
$author = explode(" ", $a); 
$first_name = $author[0]; 
$last_name = $author[1]; 

希望することができます。

+0

うまくいかなかった – sandbox

+0

何がうまくいかなかったのですか? – ralfe

2
$split = explode(' ', (string) $key->{"author"})); 

OR

$split = preg_split('/\s+/', (string) $key->{"author"})); 

はちょうど$分割を取る@によって分割し、文字列があなたを想定し

foreach($split as $key => $value) { 
    if (strpos($value, '@') !== 0) echo 'found'; 
} 
+0

それは動作します... '$ split'をさらに分割して文字列の' @ 'をチェックすることはできますか? – sandbox

0

を使用するstrposを存在するかどうかを確認するにはループで

foreach($split as $key => $value) { 
    $eta = explode('@', $value); 
    var_dump($eta); 
} 

を実行するにはただ2つの部分、電子メール、「友好的」名前 "(人が1〜n個の名前を持つため)。

<?php 
$url="http://search.twitter.com/search.rss?q=laugh"; 
$twitter_xml = simplexml_load_file($url); 

foreach ($twitter_xml->channel->item as $key) { 
$a = $key->{"author"}; 
preg_match("/([^ ]*) (.*)/", $a, $matches); 
print_r($matches); 
echo "\n"; 
} 
?> 
関連する問題