2012-11-13 3 views
0

입력 된 경우 전화 번호를 제거하려는 입력 양식이 있습니다. 영국 숫자의 다양성을 찾는 표현식을 찾았지만 입력 된 것이 숫자 인 경우에만 작동합니다. 정규식을 사용하여 텍스트 내에서 숫자의 인스턴스를 찾으십시오. 여기문자열에 유효한 영국 전화 번호 찾기

는 지금까지

if (preg_match_all('/^\(?(?:(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?\(?(?:0\)?[\s-]?\(?)?|0)(?:\d{2}\)?[\s-]?\d{4}[\s-]?\d{4}|\d{3}\)?[\s-]?\d{3}[\s-]?\d{3,4}|\d{4}\)?[\s-]?(?:\d{5}|\d{3}[\s-]?\d{3})|\d{5}\)?[\s-]?\d{4,5}|8(?:00[\s-]?11[\s-]?11|45[\s-]?46[\s-]?4\d))(?:(?:[\s-]?(?:x|ext\.?\s?|\#)\d+)?)$/', $post, $match_num)) 
{ 
    $error[0] = 1; 
    $error[2] = 'error text'; 
    $error[4] = $match_num; 
} 
+1

나는 당신이 입력을위한 파서를 작성해야한다고 생각, 정규식 수프는 내가 지금부터 일주일에 해독하고 싶습니다 (또는 지금은 생각할 수) 무언가가 아니야 –

답변

1

그냥 시작과 끝에서 ^$을 제거해야하는 것이다. 이렇게하면 정규식이 어디서나 일치 할 수 있습니다.

+0

, 치료를 작동합니다! 난 정말 정규 표현식에 대한 학습을 ​​미루지 말아야 할 것입니다. – jhodgson4