나는 다음과 같은 정규 표현식이 있습니다URL sanitize의 정규식에 백 슬래시를 포함 하시겠습니까?
:하지만, 나는 다음과 같은 출력을 기대 해요 : 나는 다음과 같은 출력을 얻을
$url = "http://example.com?param=test1\test2\test3\test4"; $cleanUrl = preg_replace('|[^a-z0-9-~+_.?\[\]\^#=!&;,/:%@$\|*`\'<>"()\\x80-\\xff\{\}]|i', '', $url);
을
http://example.com?param=test1 \ TEST2 \ TEST3 \ TEST4
나는이 정규식을 시도했지만 작동하지 않는 : 당신이 다른 방법으로 달성 할 수 무엇을하고 있는지, 아마
$cleanUrl = preg_replace('|[^a-z0-9-~+_.?\[\]\^\\#=!&;,/:%@$\|*`\'<>"()\\x80-\\xff\{\}]|i', '', $url);
^escaped single quote
입력 문자열이 확실합니까? https://ideone.com/OnepGA를 참조하십시오. 나는 그것이 $ url = "http://example.com?param=test1\\test2\\test3\\test4"이어야한다고 생각한다. 그런 다음 $ cleanUrl = preg_replace ('| [^ - \\\\ a-z0-9 ~ + _. \ [\] \^#!! &;, : % @ $ \ | * \'\ '이 데모'(https://ideone.com/tUHtU3)를 참조하십시오. –
당신은 다음을해야합니다 :, , , 백 슬래시를 이스케이프하려면 \\\\를 사용하십시오. [SO Answer] (http://stackoverflow.com/a/4025505/5447994) –
Thamilan