2014-09-30 2 views
0

그래서 "$ x"라는 변수가 있습니다. 특수 문자가이 문자열에 나타나면 일련의 특수 문자를 이스케이프 처리해야합니다. 내가 탈출하려는 문자는 다음과 같습니다문자열의 문자 집합을 이스케이프 처리하는 방법

+ - && || ! () { } [ ]^" ~ * ? : \

내가 정규식 아주 좋은 아니지만, 나는 그것이 내가 그래, 그것을 할 방법을 생각?

각 특수 문자에 대해 str_replace("+","\+",$x);처럼 탈출 할 수 있지만 어떻게해야하는지 잘 모르겠습니다. 누구 포인터?

답변

2

preg_quote 기능을 사용할 수 있습니다. 정규식 구문의 일부인 모든 문자 앞에 백 슬래시를 넣습니다. 이것은 일부 텍스트에서 일치해야하는 런타임 문자열이 있고 문자열에 특수한 정규 표현식 문자가 들어있는 경우 유용합니다.

+0

또는 당신은 $ 문자 = "+ - && ||() {} [] ^!"싶은 경우에 ~ * : \\ 여기에 " '코드 $ yourRegEx ="표현 ";에 대한 을 (내가 $ =$ yourRegEx = str_replace ($ chars [$ i], "\"chars [$ i], $ yourRegEx); } replacesall 당신의 정규식에서 이스케이프 된 문자들과 $ chars 문자들 – varu

+0

감사합니다! 나는 그것을 지금 시도 할 것입니다! :) –

관련 문제