2013-07-04 5 views
0

PHP 사용, 다음 문자열을 어떻게 분리 할 수 ​​있습니까? 여기 BX : 그리고 아직 다음 배열에 "더 [SQ4] 몇 :PHP를 사용하면 구분 기호가 '[Ab]'와 같이 중괄호로 묶인 가변 문자열 인 배열로 문자열을 분할하는 방법은 무엇입니까?

array[0] = 'Random words ' 
array[1] = '[Ab]' 
array[2] = 'another few words here ' 
array[3] = '[Bx]' 
array[4] = 'and yet a ' 
array[5] = '[Sq4]' 
array[6] = 'few more' 

[XXX] 문자열에 괄호 inbetween 1-4 알파 숫자를 구분 기호 역할을하며이있을 수 있습니까?

또한 내가 두 배열을 만들 비슷한 할 것입니다 방법 :

arrayA[0] = 'Random words ' 
arrayA[1] = 'another few words here ' 
arrayA[2] = 'and yet a ' 
arrayA[3] = 'few more' 

arrayB[0] = '[Ab]' 
arrayB[1] = '[Bx]' 
arrayB[2] = '[Sq4]' 

여기에 어떤 도움을 크게 감상 할 수를!

당신은 preg_split

$pattern = '~(?=\[[^]]*])|]\K(?=[^[])~'; 

이상의 간단한과이 패턴을 사용할 수 있습니다

답변

1

:

$pattern = '~(?=\[)|]\K(?=[^[])~'; 

나 :

$pattern = '~(?=\[)|(?<=])~'; 
+0

나는 그것을 시도로 결국 : 배열 (,[0] => 랜덤 즉 [1] => [Ab의 여기에서 다른 몇 단어 [2] => BX : 그리고 아직 [3] => [SQ4] 몇 ) – dnpage

+0

@dnpage : 새로운 패턴으로 다시 시도하십시오 –

+0

@Casimir_et_Hippolyte 니스! 어레이 ( [0] => 임의의 단어 [1] => [Ab의] [2] => 여기서 다른 몇 단어 [3] => BX : [4] =>과 아직 [ 5] => [Sq4] [>] more> ) 그리고 거기에서부터 배열을 반복 할 수 있고 '['로 시작하는 배열을 선택하여 제 2 배열을 만들 수 있습니다. 정규 표현식을 연구하고 패턴을 어떻게 작성했는지 확인해야합니다. 당신의 도움을 주셔서 감사합니다! – dnpage