>  기사  >  백엔드 개발  >  html_entity_decode를 사용하여 PHP에서 HTML 엔터티 이스케이프를 구현합니다.

html_entity_decode를 사용하여 PHP에서 HTML 엔터티 이스케이프를 구현합니다.

不言
不言원래의
2018-06-13 09:22:062429검색

이 글에서는 HTML 엔터티 이스케이프를 구현하기 위해 PHP에서 html_entity_decode에 대한 관련 정보를 주로 소개합니다. 필요하신 분들은 참고하시면 됩니다.

최근 데이터에 중국어 따옴표가 포함되어 있는 문제가 발생하여 결과가 이스케이프되어 에 저장되었습니다. 데이터를 얻는 방법 htmlspecialchars_decode를 사용하여 엔터티를 이스케이프할 때 적용되지 않는 것을 발견했습니다. htmlspecialchars_decode를 살펴본 후 5개의 지정된 엔터티 변환만 지원합니다. 기타 [중국어 인용 부호 &ldrquo;가 발생했습니다.]

그래서 html_entity_decode가 모든 엔터티를 다시 Escape할 수 있다는 것을 알았습니다~

그리고 브라우저에서 테스트해 보면 Escape되는 것을 알 수 있는데, 이는 브라우저가 자동으로 처리하기 때문입니다. 사실, 다시 변환은 없습니다. 명령줄에서 시도해 볼 수 있습니다~~

html_entity_decode: 모든 html 엔터티를 원래 문자로 변환합니다

htmlentities()의 반대입니다

더 정확하게 말하면, 함수는 a) 선택한 문서 유형에 유효해야 하는 모든 엔터티(모든 숫자 엔터티 포함)를 디코딩합니다. 즉, XML의 경우 이 함수는 일부 DTD에 정의될 수 있는 명명된 엔터티를 디코딩하지 않습니다. b) 여기서 문자 선택한 인코딩과 연관된 인코딩 문자 집합에 있으며 선택한 문서 유형에서 허용됩니다. 다른 모든 엔터티는 그대로 유지됩니다.

htmlspecialchars_decode: 특수 HTML 엔터티를 다시 일반 문자로 변환합니다.

이 함수는 htmlspecialchars()와 정확히 반대입니다. 특수 HTML 엔터티를 다시 일반 문자로 변환합니다.

변환되는 엔터티는 &, "(ENT_NOQUOTES가 설정되지 않은 경우), '(ENT_QUOTES가 설정된 경우), 87a288dd01dd4e56dfc6fb1912fca6c6입니다.

위 5에 포함되지 않은 다른 엔터티는 다시 변환될 수 없습니다.


HTML 엔터티를 문자로 변환:

<?php
$str = "<© W3CSçh°°¦§>";
echo html_entity_decode($str);
?>

위 코드의 HTML 출력은 다음과 같습니다(소스 코드 보기):

<!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>

위 코드의 브라우저 출력은 다음과 같습니다.

<© W3CSçh °°¦§> ;

위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 주목하세요!

PHP를 사용하여 여러 이미지 업로드 및 압축 기능을 처리하는 방법


PHP에서 컬 및 비누 요청 서비스 시간 초과 문제를 해결하는 방법

위 내용은 html_entity_decode를 사용하여 PHP에서 HTML 엔터티 이스케이프를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.