Видео смотреть бесплатно

Смотреть красивое видео

Официальный сайт hauteecole 24/7/365

Смотреть видео бесплатно

26.01.2011 22:35

ladykoshaПерлушка для превращения текста со всякими &xxx; и &#nnn; в нормальный utf8

1
2
3
4
#!/usr/bin/perl
use HTML::Entities;
binmode ("STDOUT", ":utf8");
print decode_entities(<>);



Для превращения текста со всякими &xxx; и &nnn; в обычный utf8.

Понадобилось из-за штуки, которая в виде таких numeric character references и character entity references сохраняет всё, что не основные символы (латиница, цифры и что-то ещё по минимуму). Кириллицу, например.

use HTML::Entities; - там сделали главную часть работы за меня :)
binmode ("STDOUT", ":utf8"); - чтобы Perl не ругался на необходимость печатать расшифрованное :)
print decode_entities(<>); - читать справа налево. Берём нечто со stdin - <>. Превращаем в вид желаемый - decode_entities. И печатаем - print - на stdout.

Модуль HTML::Entities мне даже ставить не пришлось, в дебиане (сквизе) он в пакете libhtml-parser-perl, который был установлен по зависимостям к rss-читалке.

Советы по улучшению или замене на лучшее приму с благодарностью. :)
Сделано было по принципу "лишь бы быстро справиться с задачей". Справилось.


Тэги: entities perl utf8
+ 22 -
Похожие Поделиться

Q2W 26.01.2011 22:45 #
+ 0 -
Супер!
freefd 27.01.2011 05:53 #
+ 4 -
perl -MHTML::Entities -e"use open ':locale';print decode_entities <>"
ladykosha 27.01.2011 07:46 #
+ 0 -
Спасибо.
Если локаль не utf8, не потеряется ли часть символов? Скажем, если в тексте кроме кириллицы греческий. Или ещё что-нибудь интересное. Я понимаю, что сейчас другие локали уже не рекомендуются. Да и мне проверить не на чем. Но... :)
cblp 27.01.2011 08:43 #
+ 0 -
convmv --unescape
ladykosha 27.01.2011 09:13 #
+ 2 -
Если я правильно поняла, convmv решает другую задачу. Он конвертирует имена файлов.
cblp 27.01.2011 09:32 #
+ 0 -
Да, действительно. Я неправильно понял автора. Просто мне самому часто приходилось переименовывать файлы, названные таким способом, а с раскодированием текста не встречался.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн