현재 위치: > 최신 기사 목록> html _entity_decode 및 htmlentities를 사용하여 HTML 엔티티의 양방향 변환을 구현하는 방법은 무엇입니까?

html _entity_decode 및 htmlentities를 사용하여 HTML 엔티티의 양방향 변환을 구현하는 방법은 무엇입니까?

gitbox 2025-06-15

웹 컨텐츠를 처리 할 때 종종 HTML 코드의 특수 문자를 엔티티 (예 : & )로 변환하거나 HTML 엔티티를 일반 문자로 복원해야합니다. PHP는이 작업을 수행하기위한 두 가지 매우 실용적인 기능을 제공합니다. htmlentitieshtml_entity_decode .

이 기사는이 두 기능의 기본 사용법을 소개하고 HTML 엔티티의 양방향 변환을 구현하는 방법을 사용하는 방법을 보여줍니다.


1. htmlentities - 문자를 HTML 엔티티로 변환합니다

htmlentities 함수는 문자열의 일부 특수 문자를 해당 HTML 엔티티로 변환하여 브라우저가 태그 또는 기타 의미로 구문 분석하고 페이지의 보안 및 포맷을 올바르게 보호하는 것을 방지 할 수 있습니다.

기능 프로토 타입 :

 string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

Simple example:

 <?php
$text = "Tom & Jerry's <b>adventure</b>!";
echo htmlentities($text);
// 산출:Tom &amp; Jerry&apos;s &lt;b&gt;adventure&lt;/b&gt;!
?>

2. html_entity_decode - html 엔티티를 문자로 다시 변환합니다

html_entity_decode는 반대쪽으로 작동하며 HTML 엔티티를 해당 문자로 다시 변환합니다.

기능 프로토 타입 :

 string html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") ]] )

Simple example:

 <?php
$encoded = "Tom &amp; Jerry&apos;s &lt;b&gt;adventure&lt;/b&gt;!";
echo html_entity_decode($encoded);
// 산출:Tom & Jerry's <b>adventure</b>!
?>

3. HTML 엔티티의 양방향 변환 구현 예

저장하기 위해 HTML 엔터티로 변환 해야하는 문자열이 있다고 가정 한 다음 엔티티를 원래 문자로 복원했습니다. 이것은이 두 기능을 결합하여 달성 할 수 있습니다.

 <?php
$original = 'Hello & welcome to <a href="https://gitbox.net">gitbox.net</a>!';

// 문자열을 변환하십시오HTML실재
$encoded = htmlentities($original);
echo "인코딩 후: " . $encoded . "\n";

// 再将인코딩 후的字符串还原
$decoded = html_entity_decode($encoded);
echo "디코딩 후: " . $decoded . "\n";
?>

산출:

 인코딩 후: Hello &amp; welcome to &lt;a href=&quot;https://gitbox.net&quot;&gt;gitbox.net&lt;/a&gt;!
디코딩 후: Hello & welcome to <a href="https://gitbox.net">gitbox.net</a>!

4. 공통 매개 변수 설명

  • 플래그 : ENT_QUOTES 와 같은 변환 된 엔티티 유형을 제어하면 단일 및 이중 따옴표를 모두 변환합니다.

  • 인코딩 : 문자 인코딩을 지정하고 기본값은 PHP 구성의 인코딩이며 일반적으로 UTF-8 로 설정하는 것이 더 안전합니다.

  • double_encode ( htmlentities 에 특유) : 변환 된 엔티티를 다시 탈출할지 여부는 기본값이 이며 일반적으로 중복 인코딩을 피하기 위해 False 로 설정됩니다.


5. 요약

  • htmlentities를 사용하면 브라우저가 HTML 태그를 구문 분석하는 것을 방지하고 캐릭터의 안전한 출력을 보장 할 수 있습니다.

  • html_entity_decode를 사용하여 HTML 엔티티를 원래 문자로 복원하여 후속 처리에 편리합니다.

  • 양방향 변환의 조합은 사용자 입력을 안전하게 처리하고 XSS 공격을 방지하며 디스플레이를 용이하게 할 수 있습니다.

이 기사 가이 두 기능을 잘 이해하고 적용하고 HTML 엔티티의 양방향 변환을 구현하는 데 도움이되기를 바랍니다.