2014-05-20 6 views
1

사용자 입력 URL에 facebook (.any 도메인)이 포함되어 있는지 확인해야합니다.PHP regex - 문자열에 'facebook'이 포함되어 있습니다.

preg_match("/.(facebook)+\.[A-Z]{2,4}/", $input);

을하지만 www.facebook.com을 typying에 false를 반환 : 이것은 내가 가지고있는 것입니다. 누군가가 이걸 도와 줄 수 있니? 나는 정규 표현식이별로 좋지 않다.

답변

4

마지막 부분의 대문자 만 일치하기 때문입니다. 당신은 수정을 추가하여 독립 케이스를 일치하도록 할 수 있습니다 :

preg_match("/.(facebook)+\.[A-Z]{2,4}/i", $input); 

다음 사항은 다음과 같습니다

  1. 당신이 그룹

  2. 에 "페이스 북을"넣을 필요가 없습니다 이 점에 일치 할 경우

    그런 다음 그것을

  3. 탈출, 페이스 북에게

  4. 을 정량화 할 필요가 없습니다

그래서이와 끝까지 :

preg_match("/\.facebook\.[A-Z]{2,4}/i", $input); 
+0

네의 대답과 함께이 시도 할 수 있습니다. – debute

+0

@debute, 나는 나의 대답에 더 많은 포인트를 더했다. – stema

+0

로 인해 facebook.com과 일치하지 않습니다. 시작시 –

1

당신은 또한, 좋은, 덕분에 빠른 응답을, 나는 최대한 빨리 답변을 받아 들일 것입니다 @stema

if(strpos($url, "facebook") !== FALSE) 
{ 
    echo "exists"; 
} 
else 
{ 
    echo "not exists"; 
} 
+0

고마워,하지만 이미 해결책을 찾았 어. 나는 preg_match를 사용해야했다. – debute

+0

그게 유용 할 수도 있습니다. –

+0

네,하지만 이미 그 해결책을 알고 있습니다 (저는 다른 스크립트에서 사용합니다). – debute

관련 문제