1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
archived-doc-ru/reference/strings/functions/html-entity-decode.xml
2024-03-28 05:50:35 +03:00

233 lines
8.3 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: eabde0419cf90f596f60db00e31fcb6ebe41ac55 Maintainer: shein Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.html-entity-decode" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>html_entity_decode</refname>
<refpurpose>Преобразовывает HTML-сущности в символы</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>html_entity_decode</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>flags</parameter><initializer>ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>encoding</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Функция <function>html_entity_decode</function> выполняет преобразование
обратное функции <function>htmlentities</function>, разница в том, что эта функция
наоборот — преобразовывает HTML-сущности в строке <parameter>string</parameter> в символы.
</para>
<para>
Точнее, эта функция декодирует сущности (включая числовые),
которые а) допускает тип документа — то есть,
для XML-документов функция не декодирует именованные сущности, которые определяет
схема DTD и б) символ или символы которых входят в кодированный набор символов, который
связан с выбранной кодировкой, и которые разрешает выбранный тип документа.
Остальные сущности функция не изменяет.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
Входная строка.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
Битовая маска из следующих флагов, которые определяют, как обрабатывать кавычки
и какой тип документа использовать.
Маска по умолчанию: <literal>ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401</literal>.
<table>
<title>Константы <parameter>flags</parameter></title>
<tgroup cols="2">
<thead>
<row>
<entry>Имя константы</entry>
<entry>Описание</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>ENT_COMPAT</constant></entry>
<entry>Преобразовывает двойные кавычки, одинарные кавычки не изменяются.</entry>
</row>
<row>
<entry><constant>ENT_QUOTES</constant></entry>
<entry>Преобразовывает как двойные, так и одинарные кавычки.</entry>
</row>
<row>
<entry><constant>ENT_NOQUOTES</constant></entry>
<entry>Оставляет без изменения как двойные, так и одинарные кавычки.</entry>
</row>
<row>
<entry><constant>ENT_SUBSTITUTE</constant></entry>
<entry>
Заменяет неправильные последовательности кодовых единиц символом замены
Юникода вместо возврата пустой строки: U+FFFD для строк в кодировке UTF-8
и &amp;#FFFD; для строк в других кодировках.
</entry>
</row>
<row>
<entry><constant>ENT_HTML401</constant></entry>
<entry>
Обрабатывает код в соответствии со стандартом HTML 4.01.
</entry>
</row>
<row>
<entry><constant>ENT_XML1</constant></entry>
<entry>
Обрабатывает код по правилам стандарта XML 1.
</entry>
</row>
<row>
<entry><constant>ENT_XHTML</constant></entry>
<entry>
Обрабатывает код по правилам стандарта XHTML.
</entry>
</row>
<row>
<entry><constant>ENT_HTML5</constant></entry>
<entry>
Обрабатывает код по правилам стандарта HTML 5.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>encoding</parameter></term>
<listitem>
&strings.parameter.encoding;
&reference.strings.charsets;
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция возвращает декодированную строку.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.1.0</entry>
<entry>
Значение по умолчанию для параметра <parameter>flags</parameter>
изменили с <constant>ENT_COMPAT</constant>
на <constant>ENT_QUOTES</constant> | <constant>ENT_SUBSTITUTE</constant>
| <constant>ENT_HTML401</constant>.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Теперь параметр <parameter>encoding</parameter> принимает значение null.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Декодирование HTML-сущностей</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 &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now
echo $b; // I'll "walk" the <b>dog</b> now
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Кажется странным, что результатом вызова
функции trim(html_entity_decode('&amp;nbsp;')); не становится пустая строка.
Причина в том, что сущность «&amp;nbsp;» преобразовывается не в символ
с ASCII-кодом 32, который функция <function>trim</function> удаляет,
а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>htmlentities</function></member>
<member><function>htmlspecialchars</function></member>
<member><function>get_html_translation_table</function></member>
<member><function>urldecode</function></member>
</simplelist>
</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:"~/.phpdoc/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
-->