웹 컨텐츠를 처리 할 때 종종 HTML 코드의 특수 문자를 엔티티 (예 : & )로 변환하거나 HTML 엔티티를 일반 문자로 복원해야합니다. PHP는이 작업을 수행하기위한 두 가지 매우 실용적인 기능을 제공합니다. htmlentities 및 html_entity_decode .
이 기사는이 두 기능의 기본 사용법을 소개하고 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 & Jerry's <b>adventure</b>!
?>
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 & Jerry's <b>adventure</b>!";
echo html_entity_decode($encoded);
// 산출:Tom & Jerry's <b>adventure</b>!
?>
저장하기 위해 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 & welcome to <a href="https://gitbox.net">gitbox.net</a>!
디코딩 후: Hello & welcome to <a href="https://gitbox.net">gitbox.net</a>!
플래그 : ENT_QUOTES 와 같은 변환 된 엔티티 유형을 제어하면 단일 및 이중 따옴표를 모두 변환합니다.
인코딩 : 문자 인코딩을 지정하고 기본값은 PHP 구성의 인코딩이며 일반적으로 UTF-8 로 설정하는 것이 더 안전합니다.
double_encode ( htmlentities 에 특유) : 변환 된 엔티티를 다시 탈출할지 여부는 기본값이 참 이며 일반적으로 중복 인코딩을 피하기 위해 False 로 설정됩니다.
htmlentities를 사용하면 브라우저가 HTML 태그를 구문 분석하는 것을 방지하고 캐릭터의 안전한 출력을 보장 할 수 있습니다.
html_entity_decode를 사용하여 HTML 엔티티를 원래 문자로 복원하여 후속 처리에 편리합니다.
양방향 변환의 조합은 사용자 입력을 안전하게 처리하고 XSS 공격을 방지하며 디스플레이를 용이하게 할 수 있습니다.
이 기사 가이 두 기능을 잘 이해하고 적용하고 HTML 엔티티의 양방향 변환을 구현하는 데 도움이되기를 바랍니다.