2011-01-26 5 views
1

전자 메일을 보내는 데 문제가 있습니다. 특수 문자가 포함되어 있으면 보내지 않습니다. 다음과 같이 특수 문자를 HTML 항목으로 변환하고 싶습니다.PHP - 특수 문자를 HTML 엔터티로 변환

" ==> " 
& ==> & 
€ ==> € 
< ==> &lt; 
.... 

어떻게하면됩니까? 감사.

답변

1

htmlentities()는이 작업을 수행합니다. 이 같은

사용을 : 당신이 적절한 문자 집합 정보를 제공하는 경우

$text = htmlentities($text); 

하지만 이것은 필요는 없습니다. 메일의 문자셋을 설정해보십시오.

+0

두 번째 마지막 문은 완전히 사실이 아닙니다. '<' and '>'은 어떻습니까? – Jonah

1

두 가지 문제 :

(1) http://php.net/manual/en/function.htmlentities.php

기본 용도에 위치한를 htmlentities() 사용 : "ENT_QUOTES는"단일 및 이중 따옴표 모두가 발생합니다

$clean = htmlentities($dirty, ENT_QUOTES, "UTF-8"); 

가 변환되는

"UTF-8"은 UTF-8 문자 집합을 강제 적용합니다 (중요, 아래에서 읽음)

(2) 양식 페이지와 제출 대상 페이지 모두에 문자 집합을 적용하십시오. 그냥 오프닝 PHP 브래킷 아래

는 다음 삽입 : (. 당신의 웹 사이트의 모든 페이지에, 현실적으로)

header('Content-Type: text/html; charset=utf-8'); 

당신이 두 페이지에 문자 집합을 강제하는 것이 중요합니다

해결해야 문제. 그렇지 않은 경우 정화 시스템 내의 다른 곳에 문제가 있습니다.

관련 문제