"<"/ ">"을 (를) 태그가 아닌 HTML에 문자열로 표시하려고합니다.출력 "<"/">"HTML의 문자
나는 내가 그들을 표시 할 때 모두이 같은 형식이 사용자의 전체 이름과 이메일 및 포함 된 데이터베이스가 있습니다
Christian Eric Paran <[email protected]>
을하지만 그것은 단지 다음과 같이 표시 :
Christian Eric Paran
PHP에서 HTML로 이것을 표시하는 방법이 있습니까?
"<"/ ">"을 (를) 태그가 아닌 HTML에 문자열로 표시하려고합니다.출력 "<"/">"HTML의 문자
나는 내가 그들을 표시 할 때 모두이 같은 형식이 사용자의 전체 이름과 이메일 및 포함 된 데이터베이스가 있습니다
Christian Eric Paran <[email protected]>
을하지만 그것은 단지 다음과 같이 표시 :
Christian Eric Paran
PHP에서 HTML로 이것을 표시하는 방법이 있습니까?
는 특별한 의미 character references를 사용하여 HTML에서 (<
텍스트 노드에 대해 걱정할 필요가 사람되는 & &
→ &
<
→)와 문자를 나타냅니다.
htmlspecialchars
함수가 자동으로 변환됩니다.
print htmlspecichars("Christian Eric Paran <[email protected]>");
문제는 <
및 >
태그를 구분하는 HTML 사용하는 것이다. 이메일 주소는 결국 HTML 태그로 파싱되어 결국 모든 브라우저가 아니라면 대부분 숨겨집니다.
<
을 사용하여 <
을 HTML에 표시하고 >
을 >
으로 표시하십시오.
데이터가 동적 인 경우 인쇄하기 전에 위의 인코딩을 수행하려면 htmlentities
또는 htmlspecialchars
을 사용하십시오.
당신은 적절한 HTML 엔티티로 htmlspecialchars를 변환해야 - 같은
이메일 주소로 다루고 있기 때문에 당신이 그냥 숨어없는 결과를 표시하는 방법을 다루는 유연성을 필요 확신 '<
'로 당신이 메일 구문 분석이 설치되어 있지 않은 경우 가
내가 http://php.net/mailparse_rfc822_parse_addresses
$email = mailparse_rfc822_parse_addresses("Christian Eric Paran <[email protected]>") ;
echo $email[0]['display'] ; // Christian Eric Paran
echo $email[0]['address'] ; // [email protected]
를 추천 할 것입니다 태그
당신이 을 사용할 수 있습니다 1,515,$email = parse_addresses ("Christian Eric Paran <[email protected]>");
echo $email ['display']; // Christian Eric Paran
echo $email ['address']; // [email protected]
parse_addresses
기능
function parse_addresses($address) {
$info = array();
preg_match_all ('/\s*"?([^><,"]+)"?\s*((?:<[^><,]+>)?)\s*/', $address, $matches);
$info ['display'] = $matches [1] [0];
$info ['address'] = str_replace (array (
"<",
">"
), "", $matches [2] [0]);
return $info;
}