2012-02-22 3 views
0

다음 코드에서 객체 $author을 흘릴 수 있습니까? white space occurs?PHP 객체의 데이터 분할

<?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"})); 

또는

$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); 
} 

를 실행하려면 두 부분으로 나누어 져야합니다 : 전자 메일 및 "친숙한 이름 "(사람들은 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"; 
} 
?>