이 글에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!