2013-02-19 3 views
0

아직 학습을 도와주세요. 나는 해결책을 찾았지만, 내가 찾은 대부분의 정규식을 사용하고 정규식을 사용하지 않고 이것을 달성하기를 바라고 있어요. 나는 내 페이지의 상단에 여러 과일 10 배처럼 반복 다음하고 모두가 잘 작동 :Preg_match 일치하는 문자열이 여러 개 발견되었습니다

?> 
<?php 
$referrer = $_SERVER['HTTP_REFERER']; 
    if (preg_match("/apple/",$referrer)) { 
    header("Refresh:0;url=http://mysite.com/fruit/"); 
    exit; 
} 
?> 
?> 
<?php 
$referrer = $_SERVER['HTTP_REFERER']; 
if (preg_match("/orange/",$referrer)) { 
    header("Refresh:0;url=http://mysite.com/fruit/"); 
exit; 
} 
?> 

하지만 나는 단순히 추가 할 수있는 이런 일에 그것을 아래로 응축하기 위해 노력하고있어 필요한 경우 새로운 '과일'.

if (preg_match("/apple/", $referrer) || preg_match("/orange/", $referrer) || preg_match("/peach/", $referrer) || preg_match("and on!! --)) { ... 

예 제가 가지고있는 preg_match의 광범위한 범위를 알고 있습니다.

답변

0

당신은

<?php 
$referrer = $_SERVER['HTTP_REFERER']; 
    if (preg_match("/apple|orange|grape/",$referrer)) { 
    header("Refresh:0;url=http://mysite.com/fruit/"); 
    exit; 
} 
?> 

단어 경계에 제한이 아니므로 그것뿐만 아니라 "crabapple입니다"를 일치 있습니다 조건 시도 "또는"수 있습니다.

+0

답장을 보내 주셔서 감사합니다. "단어 경계"라고 할 때 (preg_match ("/ apple | orange | grape/i", $ referrer)) –

+0

정확한 단어와 일치 시키려면 \ b를 추가해야합니다. be : preg_match ("/ \ b (apple | orange | grape) \ b/i", $ referrer) –

관련 문제