2016-10-19 3 views
0

PHP 서버 측을 사용하여 HTML 양식을 작성합니다 (일반 텍스트 이메일을 보내려면 Swift Mailer를 사용하지만 현재는 중요하지 않습니다). 전자 메일을 실제로 보내기 전에 최종적으로 확인하기 위해 사용자의 텍스트 입력을 표시하고 싶습니다.PHP : 양식 텍스트를 숨겨진 입력 필드에 제출하여 다시 제출하십시오.

저는 사용자의 양식 필드 입력을 안전하게 표시하기 위해 양식 입력란을 <input type="hidden" ../> 양식 필드로 출력해야 실제로 제출 된 이메일을 다시 제출할 수 있습니다.

전자 메일 본문에는 분명히 작은 따옴표, 큰 따옴표, 앰퍼샌드, 덜 작고 큰 기호 등 모든 종류의 잠재적으로 문제가있는 문자가 포함될 수 있습니다.

필자의 유일한 (?) 문제는 양식 인용 부호가 value=".." (대개 큰 따옴표를 사용)이고 입력 문자열 값에 인용 부호가 없다는 것을 확인하는 것입니다. 서로 충돌하지 않습니까? 필요한만큼 따옴표를 이스케이프 처리 할 htmlspecialchars과 비슷한 줄에 PHP 함수가 있습니까? 전송할 이메일이 일반 텍스트이므로 HTML 엔터티로 변환하고 싶지 않습니다. 나는 "상대적으로"(안전하게 양식 필드 내 텍스트를 인코딩하는 htmlspecialchars($text, ENT_QUOTES)을 사용하고 사용할 수있는 것처럼

답변

0

를 사용해야합니다, 그것은 본다 새로운 해당 역 기능) htmlspecialchars_decode($text, ENT_QUOTES) 일반 텍스트 전자 메일 메시지를 만들 때 HTML 엔터티를 안전하게 다시 정상 문자로 변환 할 수 있습니다.

+0

왜 당신이 마침내 질문을 게시 한 후에 오랫동안 ** 답변을 제공하는 문서 섹션을 마주 칠 수있는 이유는 무엇입니까?! – dave559

+0

이것이 올바르지 않거나 가장 적합한 해결책이 아니라면, 나에게 도움이 될 수있는 다른 답변에 대해서도 감사드립니다. 감사! – dave559

관련 문제