1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.9 $ -->
<!-- splitted from ./en/functions/strings.xml, last change in rev 1.2 -->
<refentry id="function.html-entity-decode">
<refnamediv>
<refname>html_entity_decode</refname>
<refpurpose>
Convert all HTML entities to their applicable characters
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>string</type><methodname>html_entity_decode</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>quote_style</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>charset</parameter></methodparam>
</methodsynopsis>
<para>
<function>html_entity_decode</function> is the opposite of
<function>htmlentities</function> in that it converts all HTML entities
to their applicable characters from <parameter>string</parameter>.
</para>
<para>
The optional second <parameter>quote_style</parameter> parameter lets
you define what will be done with 'single' and "double" quotes. It takes
on one of three constants with the default being
<constant>ENT_COMPAT</constant>:
<table>
<title>Available <parameter>quote_style</parameter> constants</title>
<tgroup cols="2">
<thead>
<row>
<entry>Constant Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>ENT_COMPAT</constant></entry>
<entry>Will convert double-quotes and leave single-quotes alone.</entry>
</row>
<row>
<entry><constant>ENT_QUOTES</constant></entry>
<entry>Will convert both double and single quotes.</entry>
</row>
<row>
<entry><constant>ENT_NOQUOTES</constant></entry>
<entry>Will leave both double and single quotes unconverted.</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
The ISO-8859-1 character set is used as default for the optional third
<parameter>charset</parameter>. This defines the character set used in
conversion.
</para>
&reference.strings.charsets;
<para>
<example>
<title>Decoding HTML entities</title>
<programlisting role="php">
<![CDATA[
<?php
$orig = "I'll \"walk\" the <b>dog</b> now";
$a = htmlentities($orig);
$b = html_entity_decode($a);
echo $a; // I'll "walk" the <b>dog</b> now
echo $b; // I'll "walk" the <b>dog</b> now
// For users prior to PHP 4.3.0 you may do this:
function unhtmlentities($string)
{
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}
$c = unhtmlentities($a);
echo $c; // I'll "walk" the <b>dog</b> now
?>
]]>
</programlisting>
</example>
</para>
<para>
<note>
<para>
You might wonder why trim(html_entity_decode('&nbsp;')); doesn't
reduce the string to an empty string, that's because the '&nbsp;'
entity is not ASCII code 32 (which is stripped by
<function>trim</function>) but ASCII code 160 (0xa0) in the default ISO
8859-1 characterset.
</para>
</note>
</para>
<para>
See also <function>htmlentities</function>,
<function>htmlspecialchars</function>,
<function>get_html_translation_table</function>,
and <function>urldecode</function>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|