2012-09-05 8 views
0

내 지원 티켓 시스템에서 응답이 사용자에게 전송되고 그 대상에는 [Ticket ID: ######]이 포함됩니다.문자열 ID에서 스트리핑 : "[Ticket ID : 9884219]"

전체 제목을 제공하여 ######을 제거하려면 어떻게해야합니까? 예를 들어

이 켜집니다 기능이에

[Ticket ID: 600238] Forgot password, reset it please :(

을 : 티켓 ID 브래킷이 주제 자체가 분리되어 있지만, 모든 문자로 시작할 수 있습니다

600238

대상자 공간을 사용하여.

RegEx가 있습니까?

답변

5

preg_match을 사용할 수 있습니다.

if (preg_match("/\[Ticket ID: (\d+)\]/", $input, $matches)) { 
    $ticket_id = $matches[1]; 
} 
+0

는 preg_match ("\ [티켓 ID : (\ D +) \]"에 대해 자세히 배울 수있다 "RE : [티켓 ID : 5890684] 안녕하세요", $를 일치)가 작동하지 않습니다. – Anonymous

+0

정규식에서 대괄호를 이스케이프 처리해야합니다. 내 대답은 이것을 포함하고 테스트 코드는 그렇지 않다. – Vulcan

+0

나는 그것들을 도주시키지 만 Stack Overflow는 나의 코멘트에서 그들을 제거했다. 주제를 사용 – Anonymous

1

'[' ']'정규식에서 공간적 의미가 있으므로 정규식에서 이스케이프 처리해야합니다. 필요한 정규 표현식은 /\[Ticket ID: [\d]{6}\]/

단어 사이에 [\ s] +를 사용할 수 있습니다.

이 정규식은 당신에게 전체를 줄 것입니다. Ticket ID: ###### 그리고 다시 번호를 추출해야합니다.

정규식은 매우 강력하고 여기에 당신은 정규식 here