2012-06-13 1 views
0

그룹화 및 그렙 - 보내고 변수에서 특정 라인을 (PHP) :내가 유사한 데이터를 보유하고 PHP 변수가

$var = " 
Name: Tom 
Age: 26 
Location: London 

Name: Mike 
Age: 28 
Location: New York 

Name: Sunny 
Age: 24 
Location: Tokyo"; 

난 단지 위치를 추출하고, 같은 배열에 저장하고 싶습니다 :

$location = array_merge(preg_replace('/^Location: /','',preg_grep('/^Location: /',explode("\n", $var)))); 
:이 사용하여 이루어지고있어 PHP " 는 LOL, 웃음하지 마십시오 .."내 간단한 경험이 지금은

Array 
(
    [0] => London 
    [1] => New York 
    [2] => Tokyo 
) 

, 0

그러나 나는 더 빠르고 현명하며 적은 시스템 과부하를 달성하는 더 좋은 방법 (어쩌면 preg_split)이있을 것이라고 믿는다.

친절, 점은 기본적으로 새 라인 문자가 일치하지 않기 때문에 작동

답변

1
preg_match_all('/Location: (.+)/', $var, $m); 
print_r($m[1]); 

.. :-) 사전에 .. 감사를 조언한다.

+0

Hello @ rambo-coder, 답변 해 주셔서 감사합니다. 정규 표현식에서 ^를 다음과 같이 사용하면 더 좋을까요?'preg_match_all ('/^Location : (. +) /', $ var , $ m);'Location이 줄을 시작하게하는 것이 좋을 것이라고 생각하십니까? 다시 고마워. –

+0

@HasanS., 나중에 아주 좋은 개선이 될 것입니다. – goat

관련 문제