Преобразование ASCII в открытый текст в PHP
я очищаю некоторые сайты и имею текст ASCII, который я хочу преобразовать в обычный текст для хранения в БД. Например я хочу!--3-->
I have got to tell anyone who will listen that this is
one of THE best adventure movies I've ever seen.
It's almost impossible to convey how pumped I am
now that I've seen it.
преобразовано в
I have got to tell anyone who will listen that this is
one of THE best adventure movies I've ever seen. It's
almost impossible to convey how pumped I am now that
I've seen it.
я погуглил пальцы в крови, какая-нибудь помощь?
1 ответов
можно использовать html_entity_decode
:
echo html_entity_decode('...', ENT_QUOTES, 'UTF-8');
несколько замечаний:
обратите внимание, что похоже, что вы действительно хотите конвертировать из HTML-кодированной строки(с такими объектами, как

) в ASCII AKA открытый текст.этот пример преобразует в UTF-8 который является ASCII-совместимой кодировкой символов для всех символов ASCII (т. е. с кодами char ниже 128). Если вы действительно хотите простой ASCII (таким образом, потеряв все акцентированные символы и символы с иностранных языков) вы должны удалить все оскорбительные символы отдельно.
последний аргумент ('UTF-8') необходим для сохранения совместимости с различными версиями PHP, так как значение по умолчанию изменилось с PHP 5.4.0.
обновление: пример с вашим текстом в ideone.
Update2: изменен ENT_COMPAT на ENT_QUOTES по предложению @Daan.