2014-09-24 5 views
-2

"|"로 구분 된 모든 정보가있는 문자열에서 값을 추출해야합니다. 또는 "||" 문자. 다음은 두 가지 예 :이 캐릭터 라인의 구문은PHP를 사용하여 문자열의 일부 값을 추출하십시오.

word1 | "word2[word3]" || number1 | word4 
word5 | "word6[word7]" || number2 | word8 

내가 후 2 브래킷 (word3 및 word7)과 값 내에서 값을 추출 할 필요가 || (1 번과 2 번). 그렇게하는 방법? 내가 코멘트에서 언급 한 바와 같이

+0

당신이 시작 정규식. – Ohgodwhy

+0

다음과 같이 explode를 사용할 수도 있습니다. http://php.net/manual/en/function.explode.php –

+0

explode와 str_replace 또는 preg_replace를 결합합니다. ||, [, and]를 |로 변환하려면 replace를 사용하십시오. 그리고 나서 폭발해라. (나는 preg_split을 사용한다) – kainaw

답변

0

, 나는 같이 preg_split을 사용 :

$words = preg_split('/[\s\|"\[\]]+/', $string); 

$string = 'word1 | "word2[word3]" || number1 | word4 
      word5 | "word6[word7]" || number2 | word8'; 

의 경우 $ 단어의 배열이 될 것입니다 :

Array 
(
    [0] => word1 
    [1] => word2 
    [2] => word3 
    [3] => number1 
    [4] => word4 
    [5] => word5 
    [6] => word6 
    [7] => word7 
    [8] => number2 
    [9] => word8 
) 
관련 문제