2017-03-06 1 views
0

내가 내 길을 preg_match를해야하는 경로를 preg_match를,이 같은 시도심포니는

http://.../surveillance/item/veille/h/55 

와 나는 복귀 "일치"를 얻을 싶습니다 내가 "감시"했다면.

답변

1

preg_match 표현식에 구분 기호를 추가하십시오.

if (preg_match('/surveillance/', $request->headers->get('referer'))){ 
    var_dump("match"); 
} else { 
    var_dump("dont match"); 
} 

또는 아마

if (stristr($request->headers->get('referer'),'surveillance')){ 
     var_dump("match"); 
} else { 
    var_dump("dont match"); 
} 
+0

그건 정말로 구분 기호였습니다. 고마워요! :) – Ygg69

0

이것은 당신이 찾고있는 대신 정규식으로 리퍼러를 구문 분석의 당신은 아마 별도의 컨트롤러 액션과 경로를 사용하거나 동일한을 사용해야 대답하지 않습니다 경로/컨트롤러를 사용하지만 경로 매개 변수를 사용합니다.

그것이 그들이 만들어내는 것입니다.

0

검색 문자열이 가변적이지 않으므로 헤더 문자열에서 해당 문자열의 위치와 관련이 없으므로 regex가 가장 적합한 방법이 아닙니다.

if (strpos($request->headers->get('referer'),'surveillance')!==false){ 
    var_dump("match"); 
} else { 
    var_dump("dont match"); 
} 

을하지만 위의 헤더 캐릭터 라인의 아무 곳이나 surveillance 일치합니다 :

그냥 이런 strpos()를 사용합니다. 당신이 전체 문자열 surveillance 디렉토리 값으로 사용하고 있는지 확인하려고 시도하는 경우에, 당신은 슬래시로 (/을)를 래핑 수 :

if (strpos($request->headers->get('referer'),'/surveillance/')!==false){ 
    var_dump("match"); 
} else { 
    var_dump("dont match"); 
} 

내가 심포니 모르는, Mawcel 잘 될 수 있도록 그/그녀의 게시물에.

surveillance이 서버의 유효한/기존 디렉토리로 사용되고 있는지 확인하려면 디렉토리가 존재하는지 확인하는 다른 기능을 조사해야합니다. 이것이 서버에 없으면 부분 문자열 위치를 검사하는보다 세련된 정규식 패턴을 조사하는 것이 좋습니다.

관련 문제