2012-04-13 3 views
0

나는이 단어를 어떻게 발음하는지 정말 혼란 스럽다. 나는 대괄호로 묶인 끈의 일부분을 가져 가야한다. 예를보십시오PHP : 자리 표시 자 내에서 문자열 읽기

재 : [115] VFA 1 폰 2012년 4월 11일 비스 2012년 4월 12일 MIT-1221

이 누군가가 메일의 제목으로 전송된다. 대괄호에서 115 번을 가져와야합니다. 대괄호 이상이있는 경우이 위치는 어느 지점에서나 먼저 나타납니다

어떻게 해결할 수 있습니까?

편집 내가 원하는

내가 문자열 재에서 []의 모든 인스턴스를 얻을했습니다 수 : 2012년 4월 12일 MIT 비스 폰 2012년 4월 11일 [115] [12] VFA 1 -1221

감사

당신은 regular expressions하여이 작업을 수행 할 수 있습니다

답변

2

:

preg_match_all('/\[(\w+)\]/', $str, $matches); 
$square_brackets = $matches[1]; // array of: "115", "12" 
+0

추가 생각 나는 경우 처음 한 번 더 해보면 다시 한 번, 그럴 가치가 없습니다. –

+0

@duke : 추출 할 데이터와 함께이 다른 예제를 질문에 포함시킬 수 있습니까? –

+0

질문을 편집했습니다. –

1

메일 본문으로 보내는 사람입니다. 대괄호에서 115 번을 가져와야합니다. 대괄호보다 더 오기가있는 경우,이 위치는 괄호 안에 쌌다 할 수있는 점

항상 숫자의 경우

, 항상 처음에 첫 될 것입니다 :

<?php 
$line = 'Re: [115]VFA 1 von 04/11/2012 bis 04/12/2012 mit-1221'; 

if(preg_match('~\[(\d+)\]~', $line, $matches) !== 0) { 
    $number = array_shift($matches); 
} 
else { // no match. 
}