Я хочу преобразовать все html-теги (& nbsp & gt; lt и т. Д.) В текстовый формат; Я попробовал
html_entity_decode()
но он вернется? если & nbsp.
Использовать htmlspecialchars_decode
– это противоположность htmlspecialchars
. Пример на странице документации PHP:
$str = '<p>this -> "</p>'; echo htmlspecialchars_decode($str); //Output: <p>this -> "</p>
html_entity_decode () – это противоположность htmlentities () тем, что он преобразует все объекты HTML в строку в соответствующие символы.
$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
использование
html_entity_decode ()
вместо
html_entity_encode ()
Если вы проверите руководство html_entity_decode () :
Вы можете задаться вопросом, почему trim (html_entity_decode ('')); не сводит строку к пустой строке, потому что «объект» не является кодом ASCII 32 (который разделяется с помощью trim ()), а кодом ASCII 160 (0xa0) в стандартном наборе символов ISO 8859-1 по умолчанию.
Вы можете вложить функцию html_entity_decode () внутри str_replace () в ASCII # 160 в пространство:
<?php echo str_replace("\xA0", ' ', html_entity_decode('ABC XYZ') ); ?>
Я знаю, что мой ответ приходит очень поздно, но думал, что это может помочь кому-то другому. Я считаю, что лучший способ извлечь все специальные символы – использовать utf8_decode () в php. Даже для работы с
или любой другой специальный символ, представляющий пустое пространство, использует utf8_decode()
.
После использования utf8_decode()
можно манипулировать этими символами непосредственно в коде. Например, в следующем коде функция clean () заменяет
с пробелом. Затем он заменяет все лишние пробелы одним пробелом, используя preg_replace()
. Верхние и конечные пробелы удаляются с помощью trim()
.
function clean($str) { $str = utf8_decode($str); $str = str_replace(" ", "", $str); $str = preg_replace("/\s+/", " ", $str); $str = trim($str); return $str; } $html = " Hello world! lorem ipsum."; $output = clean($html); echo $output;
Привет мир! lorem ipsum.