좋아요. 몇 시간 동안 이걸로 어지럼 쳤습니다. 아직 제대로 이해하지 못해서 여러분에게 물어볼 것입니다.JS/PHP는 urlencoding과 urldecoding을 교차합니다.
나는 html로 텍스트 영역을 가지고있다. 그 값은 아약스 (jquery)를 사용하여 PHP로 보내야하고 데이터베이스로 전달되어야하며 PHP를 사용하여 다시 인쇄 할 수 있어야한다. 문제는 인쇄가 당신이 입력 한 내용과 100 % 동일 할 때 내가 원하는입니다 '
및 \
지금 그것을 할 방법
같은 문자를 포함 :.
box.find('#newCommentArea').val()
var comment = escape(box.find('#newCommentArea').val()).replace(new RegExp("\\+", "g"),"%2B");
는 값입니다. 나는 ajax 함수를 사용하여 PHP에 comment
을 전달하고 POST 데이터로 제출합니다. 이것이 무엇 불을 지르고를 사용
가 보내 나타납니다 : PHP에서 comment=asdf%27asdf
인쇄 $_POST['comment']
은 추가 \
이 문제가 나 asdf\'asdf
에게 제공합니다. 나는 그것을 제거해야합니다.
어느 쪽이든에만 자바 스크립트 탈출 PHP에서 안전하지 않기 때문에 나는 또한 urlencode()
을하고 인쇄 할 때 내가 rawurldecode()
너희들이 방법이 좋은 경우 지적, 또는 그것이 될 수 있다면 수 사용 잘 했어.
어떻게는 내가 사전에 $_POST['comment']
덕분에 새로운 \
의 데이터베이스에 저장된 텍스트를 인쇄 할 때, \'
는 다음과 같이 표시됩니다
MakuraYami
좋아,이 꽤 잘 작동, 내가 자바 스크립트에서 urlencoded 문자열을 보내지만 php 그것 더 이상 인코딩 된 awsnt 때문에 혼란스러워 생각 :/어쨌든 stripslashes를 사용하여 지금은 입력 된 동일한 표시합니다! – MakuraYami