PHP html_entity_decode() 함수

예제

예정된 HTML 엔티티 "<"(작은)과 ">"(빛나는)을 문자로 변환합니다:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>

위 코드의 HTML 출력은 다음과 같습니다. (원본 코드를 확인하십시오):

<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

위 코드의 브라우저 출력:

This is some bold text.

정의와 사용법

htmlspecialchars_decode() 함수는 предопределенные HTML 엔티티를 문자로 변환합니다.

디코딩될 수 있는 HTML 엔티티는 다음과 같습니다:

  • &를 &로 디코딩합니다
  • "를 "로 디코딩합니다
  • '를 '로 디코딩합니다
  • <를 <(작은)으로 디코딩합니다
  • >를 >(빛나는)으로 디코딩합니다

htmlspecialchars_decode() 함수는 htmlspecialchars() 함수의 역함수입니다.

문법

htmlspecialchars_decode(string,flags)
파라미터 설명
string 필수 사항입니다. 디코딩할 문자열을 정의합니다.
flags

선택 사항입니다. 따옴표를 처리하는 방법과 사용할 문서 타입을 정의합니다.

사용할 수 있는 따옴표 유형:

  • ENT_COMPAT - 기본적으로 사용됩니다. 양쪽 따옴표만 디코딩합니다.
  • ENT_QUOTES - 양쪽 따옴표와 단쪽 따옴표를 디코딩합니다.
  • ENT_NOQUOTES - 어떤 따옴표도 디코딩하지 않습니다.

사용할 문서 타입의 추가 플래그를 정의합니다:

  • ENT_HTML401 - 기본적으로 사용됩니다. HTML 4.01 처리 코드로 사용됩니다.
  • ENT_HTML5 - HTML 5 처리 코드로 사용됩니다.
  • ENT_XML1 - XML 1 처리 코드로 사용됩니다.
  • ENT_XHTML - XHTML 처리 코드로 사용됩니다.

Технические детали

Возвратное значение: Возвратить преобразованный строку.
PHP версия: 5.1.0+
Журнал обновлений:

В PHP 5.4 были добавлены дополнительные флаги для определения используемого типа документа:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML

Более примеров

Пример 1

предопределенные HTML эрзацы преобразовать в символы:

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // преобразовывать только двойные кавычки
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // 더블 쿼otation과 싱글 쿼otation 변환
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // не преобразовывать никакие кавычки
?>

위 코드의 HTML 출력은 다음과 같습니다. (원본 코드를 확인하십시오):

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'<br>
Bill & 'Steve'<br>
Bill & 'Steve'
</body>
</html>

위 코드의 브라우저 출력:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

Пример 2

предопределенные HTML эрзацы преобразовать в двойные кавычки:

<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // 더블 쿼otation과 싱글 쿼otation 변환
?>

위 코드의 HTML 출력은 다음과 같습니다. (원본 코드를 확인하십시오):

<!DOCTYPE html>
<html>
<body>
저는 "PHP"을 사랑합니다.
</body>
</html>

위 코드의 브라우저 출력:

저는 "PHP"을 사랑합니다.