2010-05-02 8 views
1

저는 SO 커뮤니티가 저를 도울 수 있기를 희망합니다.문서에서 전화 번호를 제거하십시오.

나는 이름, 주소 및 전화 번호와 같은 개인 세부 사항을 제거하기 위해 PHP 응용 프로그램에서 많은 html 문서를 구문 분석하려고합니다. 너무 많은 문제없이 이러한 세부 사항 대부분을 제거 할 수 있지만 전화 번호는 저에게 진정한 문제입니다.

제 아이디어는이 문서에서 텍스트를 가져와 정규식을 사용하여 전화 번호를 식별하고 'xxxx'와 같은 다른 값으로 대체하는 것입니다.

저는 영국 유선 전화 번호 하나와 영국 휴대 전화 번호 하나를 사용하고있는 2 개의 정규식이 있습니다.

그러나 텍스트에 대해 실행하려고하면 빈 문자열이 반환됩니다. 나에게 내가이 박혀했다고 생각으로 긁적 머리를 많이 일으키는이 순간

$pattens = array(
     '/^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$/', 
     '/^(\+44\s?7\d{3}|\(?07\d{3}\)?)\s?\d{3}\s?\d{3}$/' 
    ); 

$replace = array('xxxxx', 'xxxxx'); 

//do the search for the numbers. 
$updatedContents = preg_replace($pattens, $replace, $htmlContents); 

하지만 그 순간에 나는 무엇을 볼 수 없습니다 :

나는 다음과 같은 preg_replace이다 코드를 사용하고 잘못된??

정말 간단하다고 확신합니다.

감사합니다,

그랜트 당신은 아마 당신의 정규 표현식을 anchor하지 않으

+0

몇 가지 예제 입력을 게시 할 수 있습니까? –

+0

예제는 다음 중 하나 일 수 있습니다. +44 (0) 777 123456 또는 07777123456 또는 +44 (0) 207 123435 등 –

답변

2

. 처음부터 ^을 제거하고 끝에서 $을 제거하십시오.

+0

방금 ​​한 테스트를 수행 한 것으로 나타났습니다. 내용. 나는 더 많은 테스트를 할 것입니다. 지금까지 도와 주셔서 감사합니다. –

관련 문제