PHP.mk документација

html_entity_decode

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.html-entity-decode.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.html-entity-decode.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
html_entity_decode

Референца за `function.html-entity-decode.php` со подобрена типографија и навигација.

function.html-entity-decode.php

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

html_entity_decode(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

= NULL

html_entity_decode(string $string, int $flags Претвори ги сите применливи знаци во HTML ентитети, ?string $encoding = null): string

html_entity_decode() Претвори HTML ентитети во нивни соодветни знаци htmlentities() е спротивното од string бидејќи ги претвора HTML ентитетите во

во нивни соодветни знаци.

Параметри

string

, и враќа стринг со првиот карактер од

flags

Попрецизно, оваа функција ги декодира сите ентитети (вклучувајќи ги сите нумерички ентитети) кои а) се неопходно валидни за избраниот тип на документ — т.е., за XML, оваа функција не ги декодира именуваните ентитети што може да бидат дефинирани во некој DTD — и б) чиј знак или знаци се во кодираниот сет на знаци поврзан со избраното кодирање и се дозволени во избраниот тип на документ. Сите други ентитети остануваат како што се. ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.

Маска од еден или повеќе од следниве знаменца, кои специфицираат како да се постапува со наводници, невалидни низи на единици и типот на документот што се користи. Стандардно е flags constants
Достапно = NULL
ENT_COMPAT Име на константа
ENT_QUOTES Ќе ги претвори двојните наводници и ќе ги остави единечните наводници недопрени.
ENT_NOQUOTES Ќе ги претвори и двојните и единечните наводници.
ENT_SUBSTITUTE (поголемо од)
ENT_HTML401 Замени ги невалидните точки на код за дадениот тип на документ со Unicode Replacement Character U+FFFD (UTF-8) или &#FFFD; (инаку) наместо да ги остави како што се. Ова може да биде корисно, на пример, за да се обезбеди исправност на XML документи со вградена надворешна содржина.
ENT_XML1 Ракувај со кодот како HTML 4.01.
ENT_XHTML Ракувај со кодот како XML 1.0.
ENT_HTML5 Битови маски од една или повеќе од следниве знаменца, кои специфицираат како да се постапува со наводници и кој тип на документ да се користи. Стандардно е
encoding

Ракувајте со кодот како HTML 5.

Изборен аргумент што ја дефинира кодировната шема што се користи при конвертирање на знаци. encoding Ако е изоставен, default_charset опцијата за конфигурација.

по дифолт се зема вредноста на default_charset Иако овој аргумент е технички изборен, силно се препорачува да ја наведете точната вредност за вашиот код ако

опцијата за конфигурација може да биде погрешно поставена за дадениот влез.

Поддржани се следните множества на знаци:
Поддржани множества на знаци Алијаси = NULL
ISO-8859-1 ISO8859-1 Множество знаци
ISO-8859-5 ISO8859-5 Западно-европски, Latin-1.
ISO-8859-15 ISO8859-15 Малубројно кирилично множество знаци (латиница/кирилица).
UTF-8     Западно-европски, Latin-9. Додава знак за евро, француски и фински букви што недостасуваат во Latin-1 (ISO-8859-1).
cp866 ASCII компатибилен повеќебајтен 8-битен Unicode. ibm866, 866
cp1251 DOS-специфично кирилично множество знаци. Windows-1251, win-1251, 1251
cp1252 Windows-специфично кирилично множество знаци. Windows-1252, 1252
KOI8-R Windows специфично множество знаци за Западна Европа. Russian.
BIG5 950 Традиционален кинески, главно се користи во Тајван.
GB2312 936 Поедноставен кинески, национален стандарден сет на знаци.
BIG5-HKSCS     Big5 со хонгконшки екстензии, традиционален кинески.
Shift_JIS Постапувај со кодот како HTML 5. Јапонски
EUC-JP SJIS, SJIS-win, cp932, 932 Јапонски
MacRoman     Комплет за кодирање што се користеше од Mac OS.
''     Празен стринг активира детекција од скриптно кодирање (Zend мултибајт), default_charset и тековниот локал (види nl_langinfo() and setlocale()), по овој редослед. Не се препорачува.

Забелешка: Други комплети за кодирање не се препознаваат. Ќе се користи стандардното кодирање и ќе се емитува предупредување.

Вратени вредности

EUCJP, eucJP-win

Дневник на промени

Верзија = NULL
8.1.0 flags Пример #2 Употреба на ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
8.0.0 encoding сега е null.

Примери

Враќа декодиран стринг.

<?php
$orig
= "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo
$a, PHP_EOL; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b, PHP_EOL; // I'll "walk" the <b>dog</b> now
?>

Белешки

Забелешка:

Пример #1 Декодирање на HTML ентитети trim()Можеби се прашувате зошто trim(html_entity_decode('&nbsp;')); нема да го намали стрингот на празен стринг, тоа е затоа што ентитетот '&nbsp;' не е ASCII код 32 (што се отстранува од

Види Исто така

  • htmlentities() ) туку ASCII код 160 (0xa0) во стандардното кодирање ISO 8859-1.
  • htmlspecialchars() - Конвертирај специјални знаци во HTML ентитети
  • get_html_translation_table() - Враќа табела за превод што ја користат htmlspecialchars и htmlentities
  • urldecode() - Претвори ги сите применливи знаци во HTML ентитети

Белешки од корисници 5 белешки

- Декодира стринг кодиран со URL
пред 14 години
If you need something that converts &#[0-9]+ entities to UTF-8, this is simple and works:

<?php
/* Entity crap. /
$input = "Fovi&#269;";

$output = preg_replace_callback("/(&#[0-9]+;)/", function($m) { return mb_convert_encoding($m[1], "UTF-8", "HTML-ENTITIES"); }, $input);

/* Plain UTF-8. */
echo $output;
?>
txnull
пред 10 години
Use the following to decode all entities:
<?php html_entity_decode($string, ENT_QUOTES | ENT_XML1, 'UTF-8') ?>

I've checked these special entities: 
- double quotes (&#34;)
- single quotes (&#39; and &apos;) 
- non printable chars (e.g. &#13;)
With other $flags some or all won't be decoded.

It seems that ENT_XML1 and ENT_XHTML are identical when decoding.
aidan на php точка net
21 години пред
This functionality is now implemented in the PEAR package PHP_Compat.

More information about using this function without upgrading your version of PHP can be found on the below link:

http://pear.php.net/package/PHP_Compat
Мартин
пред 7 години
I wanted to use this function today and I found the documentation, especially about the flags, not particularly helpful.

Running the code below, for example, failed because the flag I used was the wrong one...

$string = 'Donna&#039;s Bakery';
$title = html_entity_decode($string, ENT_HTML401, 'UTF-8');
echo $title;

The correct flag to use in this case is ENT_QUOTES.

My understanding of the flag to use is the one that would correspond to the expected, converted outcome. So, ENT_QUOTES for a character that would be a single or double quote when converted... and so on.

Please help make the documentation a bit clearer.
Даниел А.
12 години пред
The following function decodes named and numeric HTML entities and works on UTF-8. Requires iconv.

function decodeHtmlEnt($str) {
    $ret = html_entity_decode($str, ENT_COMPAT, 'UTF-8');
    $p2 = -1;
    for(;;) {
        $p = strpos($ret, '&#', $p2+1);
        if ($p === FALSE)
            break;
        $p2 = strpos($ret, ';', $p);
        if ($p2 === FALSE)
            break;
            
        if (substr($ret, $p+2, 1) == 'x')
            $char = hexdec(substr($ret, $p+3, $p2-$p-3));
        else
            $char = intval(substr($ret, $p+2, $p2-$p-2));
            
        //echo "$char\n";
        $newchar = iconv(
            'UCS-4', 'UTF-8',
            chr(($char>>24)&0xFF).chr(($char>>16)&0xFF).chr(($char>>8)&0xFF).chr($char&0xFF) 
        );
        //echo "$newchar<$p<$p2<<\n";
        $ret = substr_replace($ret, $newchar, $p, 1+$p2-$p);
        $p2 = $p + strlen($newchar);
    }
    return $ret;
}
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.