PHP htmlentities() º¯Êý

ʵÀý

°Ñ×Ö·ûת»»Îª HTML ʵÌ壺

<?php
$str = "<? W3S?h????>";
echo htmlentities($str);
?>

ÒÔÉÏ´úÂëµÄ HTML Êä³öÈçÏ£¨²é¿´Ô´´úÂ룩£º

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

ÒÔÉÏ´úÂëµÄä¯ÀÀÆ÷Êä³ö£º

<? W3S?h????>

¶¨ÒåºÍÓ÷¨

htmlentities() º¯Êý°Ñ×Ö·ûת»»Îª HTML ʵÌå¡£

Ìáʾ£ºÒª°Ñ HTML ʵÌåת»»»Ø×Ö·û£¬ÇëʹÓà html_entity_decode() º¯Êý¡£

Ìáʾ£ºÇëʹÓà get_html_translation_table() º¯ÊýÀ´·µ»Ø htmlentities() ʹÓõķ­Òë±í¡£

Óï·¨

htmlentities(string,flags,character-set,double_encode)
²ÎÊý ÃèÊö
string ±ØÐè¡£¹æ¶¨Òª×ª»»µÄ×Ö·û´®¡£
flags

¿ÉÑ¡¡£¹æ¶¨ÈçºÎ´¦ÀíÒýºÅ¡¢ÎÞЧµÄ±àÂëÒÔ¼°Ê¹ÓÃÄÄÖÖÎĵµÀàÐÍ¡£

¿ÉÓõÄÒýºÅÀàÐÍ£º

  • ENT_COMPAT - ĬÈÏ¡£½ö±àÂëË«ÒýºÅ¡£
  • ENT_QUOTES - ±àÂëË«ÒýºÅºÍµ¥ÒýºÅ¡£
  • ENT_NOQUOTES - ²»±àÂëÈκÎÒýºÅ¡£

ÎÞЧµÄ±àÂ룺

  • ENT_IGNORE - ºöÂÔÎÞЧµÄ±àÂ룬¶ø²»ÊÇÈú¯Êý·µ»ØÒ»¸ö¿ÕµÄ×Ö·û´®¡£Ó¦¾¡Á¿±ÜÃ⣬ÒòΪÕâ¿ÉÄܶ԰²È«ÐÔÓÐÓ°Ïì¡£
  • ENT_SUBSTITUTE - °ÑÎÞЧµÄ±àÂëÌæ´ú³ÉÒ»¸öÖ¸¶¨µÄ´øÓÐ Unicode Ìæ´ú×Ö·û U+FFFD£¨UTF-8£©»òÕß &#FFFD; µÄ×Ö·û£¬¶ø²»ÊÇ·µ»ØÒ»¸ö¿ÕµÄ×Ö·û´®¡£
  • ENT_DISALLOWED - °ÑÖ¸¶¨ÎĵµÀàÐÍÖеÄÎÞЧ´úÂëµãÌæ´ú³É Unicode Ìæ´ú×Ö·û U+FFFD£¨UTF-8£©»òÕß &#FFFD;¡£

¹æ¶¨Ê¹ÓõÄÎĵµÀàÐ͵ĸ½¼Ó flags£º

  • ENT_HTML401 - ĬÈÏ¡£×÷Ϊ HTML 4.01 ´¦Àí´úÂë¡£
  • ENT_HTML5 - ×÷Ϊ HTML 5 ´¦Àí´úÂë¡£
  • ENT_XML1 - ×÷Ϊ XML 1 ´¦Àí´úÂë¡£
  • ENT_XHTML - ×÷Ϊ XHTML ´¦Àí´úÂë¡£
character-set

¿ÉÑ¡¡£Ò»¸ö¹æ¶¨ÁËҪʹÓõÄ×Ö·û¼¯µÄ×Ö·û´®¡£

ÔÊÐíµÄÖµ£º

  • UTF-8 - ĬÈÏ¡£ASCII ¼æÈݶà×Ö½ÚµÄ 8 λ Unicode
  • ISO-8859-1 - Î÷Å·
  • ISO-8859-15 - Î÷Å·£¨¼ÓÈëÅ·Ôª·ûºÅ + ISO-8859-1 ÖжªÊ§µÄ·¨ÓïºÍ·ÒÀ¼Óï×Öĸ£©
  • cp866 - DOS רÓà Cyrillic ×Ö·û¼¯
  • cp1251 - Windows רÓà Cyrillic ×Ö·û¼¯
  • cp1252 - Windows רÓÃÎ÷Å·×Ö·û¼¯
  • KOI8-R - ¶íÓï
  • BIG5 - ·±ÌåÖÐÎÄ£¬Ö÷ÒªÔŲ́ÍåʹÓÃ
  • GB2312 - ¼òÌåÖÐÎÄ£¬¹ú¼Ò±ê×¼×Ö·û¼¯
  • BIG5-HKSCS - ´øÏã¸ÛÀ©Õ¹µÄ Big5
  • Shift_JIS - ÈÕÓï
  • EUC-JP - ÈÕÓï
  • MacRoman - Mac ²Ù×÷ϵͳʹÓõÄ×Ö·û¼¯

×¢ÊÍ£ºÔÚ PHP 5.4 ֮ǰµÄ°æ±¾£¬ÎÞ·¨±»Ê¶±ðµÄ×Ö·û¼¯½«±»ºöÂÔ²¢ÓÉ ISO-8859-1 Ìæ´ú¡£×Ô PHP 5.4 Æð£¬ÎÞ·¨±»Ê¶±ðµÄ×Ö·û¼¯½«±»ºöÂÔ²¢ÓÉ UTF-8 Ìæ´ú¡£

double_encode

¿ÉÑ¡¡£²¼¶ûÖµ£¬¹æ¶¨ÊÇ·ñ±àÂëÒÑ´æÔÚµÄ HTML ʵÌå¡£

  • TRUE - ĬÈÏ¡£½«¶Ôÿ¸öʵÌå½øÐÐת»»¡£
  • FALSE - ²»»á¶ÔÒÑ´æÔÚµÄ HTML ʵÌå½øÐбàÂë¡£

¼¼Êõϸ½Ú

·µ»ØÖµ£º

·µ»Ø±»×ª»»µÄ×Ö·û´®¡£

Èç¹û string °üº¬ÎÞЧµÄ±àÂ룬Ôò·µ»ØÒ»¸ö¿ÕµÄ×Ö·û´®£¬³ý·ÇÉèÖÃÁË ENT_IGNORE »òÕß ENT_SUBSTITUTE ±êÖ¾¡£

PHP °æ±¾£º 4+
¸üÐÂÈÕÖ¾£º

ÔÚ PHP 5 ÖУ¬character-set ²ÎÊýµÄĬÈÏÖµ¸ÄΪ UTF-8¡£

ÔÚ PHP 5.4 ÖУ¬ÐÂÔöÁË£ºENT_SUBSTITUTE¡¢ENT_DISALLOWED¡¢ENT_HTML401¡¢ENT_HTML5¡¢ENT_XML1 ºÍ ENT_XHTML¡£

ÔÚ PHP 5.3 ÖУ¬ÐÂÔöÁË ENT_IGNORE¡£

ÔÚ PHP 5.2.3 ÖУ¬ÐÂÔöÁË double_encode ²ÎÊý¡£

ÔÚ PHP 4.1 ÖУ¬ÐÂÔöÁË character-set ²ÎÊý¡£

¸ü¶àʵÀý

Àý×Ó 1

°Ñ×Ö·ûת»»Îª HTML ʵÌ壺

<?php
$str = "Bill & 'Steve'";
echo htmlentities($str, ENT_COMPAT); // ֻת»»Ë«ÒýºÅ
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // ת»»Ë«ÒýºÅºÍµ¥ÒýºÅ
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // ²»×ª»»ÈκÎÒýºÅ
?>

ÒÔÉÏ´úÂëµÄ HTML Êä³öÈçÏ£¨²é¿´Ô´´úÂ룩£º

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'<br>
Bill & &#039;Tarzan&#039;<br>
Bill & 'Steve'
</body>
</html>

ÒÔÉÏ´úÂëµÄä¯ÀÀÆ÷Êä³ö£º

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

ÔËÐÐʵÀý

Àý×Ó 2

ͨ¹ýʹÓÃÎ÷Å·×Ö·û¼¯£¬°ÑһЩ×Ö·ûת»»Îª HTML ʵÌ壺

<?php
$str = "My name is ?yvind ?sane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); 
// Will only convert double quotes (not single quotes), and uses the character-set Western European
?>

ÒÔÉÏ´úÂëµÄ HTML Êä³öÈçÏ£¨²é¿´Ô´´úÂ룩£º

<!DOCTYPE html>
<html>
<body>
My name is Øyvind Åsane. I'm Norwegian.
</body>
</html>

ÒÔÉÏ´úÂëµÄä¯ÀÀÆ÷Êä³ö£º

My name is ?yvind ?sane. I'm Norwegian.

ÔËÐÐʵÀý

VUE