% 기호를 필터링하려고하는 PHP 문자열에 쿼리가 있습니다. 모든 것이 utf-8입니다. 문자열에 % (예 : % acheron)가 들어 있으면 해당 엔티티로 변환됩니다 (문자열에 % ac 시퀀스에 의해 해석되는 'not'기호 문자가되는 경우). 나는이 문자의 들어오는 문자열을 깨끗하게 할 수있을 것 같다./ 스크립트에서 이미 "디코딩 된"시간 때문에 PHP 대체 문자열을 지울 수 없다.PHP 클린 들어오는 문자열 % 기호가
내가 알아낼 수있는 유일한 방법은 rawurlencode를 사용하여 청소하는 것이지만, 그게 진절머리가 나는 해결책과 다른 캐릭터와 문제를 일으키는 것처럼 보입니다.
문자열의 나머지 부분에 영향을주지 않고 이러한 문자를 지우는 더 효율적인 방법이 있습니까? 예를 들어 문자열에서 % & # (및 다른 문자열)을 제거하는 함수를 찾고 있지만 그렇지 않으면 그대로 둡니다. (preg_replace가 작동하지 않습니다.)
다른 말로하면 문자열에서 받아 들일 수있는 특수 문자가 없기 때문에 문자열을 제거 할 수있는 방법이 있습니다.
EDIT : 쿼리가 GET을 통해 들어오지 만 분명하지 않습니다. EDIT2 : urlecode 또는 rawurl로 인코딩 : % acheron이 % ACheron으로 변환되었지만 (어쩌면 정리할 수 있음) ^ acheron이 % 5Eacheron으로 변환되므로 (패턴을 통해 거의 지울 수 없음) ...
내 질문의 noobishness 감사 래리
에 대한 배열? –
나는 rawurlencode와 비슷한 것을 시도해 보았습니다. 그러나 그 중 하나를 사용하면 % ACheron으로 돌아 오지만 입력이^Acheron이면 동일한 기능으로 % 5Eacheron으로 변환됩니다. – Larry
어떤 브라우저를 사용하고 있는데 % ac를^양식 제출 중에 있습니까? –