PHP는

2012-11-11 7 views
0

나는이 문자열이하십시오 : 나는 배열 만 단어를을 저장할PHP는

$s = "Cannes (06150-06400), Limoges (87000-87100-87280), 06000, Paris"; 

을, 그래서 나는이 시도 :

$villes = explode(',', preg_replace('#\(([0-9\-]*)\)#', '', $s)); 

그러나 결과에 나는이 배열을 얻을 :

array(4) { 
      [0]=> 
      string(7) "Cannes " 
      [1]=> 
      string(9) " Limoges " 
      [2]=> 
      string(7) " 06000" // This shouldn't be displayed in the array 
      [3]=> 
      string(6) " Paris" 
     } 

방법 coul하세요 d 내가 원하는대로 작동하도록 정규 표현식을 수정합니다. 감사.

+0

어떤'str_word_count ($ 문자열, 1)'에 대해? – ADTC

답변

1

시도

$arr = preg_split('/\s*\(?[\d\-\s]*\)?\s*,\s*/', $s, -1, PREG_SPLIT_NO_EMPTY); 
var_dump($arr); 

출력

array(3) { 
    [0] => 
    string(6) "Cannes" 
    [1] => 
    string(7) "Limoges" 
    [2] => 
    string(5) "Paris" 
} 
+0

너는 대단하다. :) –

0
preg_match('/[a-zA-Z\-\']+/', $s, $words); 
var_dump($words[0]); 
2

보십시오 : 하나의 단어 이름에 대한

<?php 
$s = "Cannes (06150-06400), Limoges (87000-87100-87280), 06000, Paris"; 
preg_match_all("/[a-zA-Z]+/", $s, $villes); 
var_dump($villes[0]); 
?> 

. 용기 덤프 :

array(3) { 
    [0]=> 
    string(6) "Cannes" 
    [1]=> 
    string(7) "Limoges" 
    [2]=> 
    string(5) "Paris" 
} 
+0

너는 대단하다. :) –

0

결과로 배열을 사용할 수 있습니다.

$arr=explode(' ' , $s); 
print_r($arr);