Автор Тема: нужен модуль для замены < на >, © на © и так далее...  (Прочитано 2396 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Elenka

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 83
  • +0/-0
  • 0
    • Просмотр профиля
    • http://soccercleats.blogs.sapo.pt
в общем хтмл в плейн текст перевести...

спасибо

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
http://search.cpan.org/search?query=html+entities&mode=all

Цитировать
в общем хтмл в плейн текст перевести...

эта фраза несколько некорректна...
0 OK, 0:1

Оффлайн cr4ck3r

  • Фанат Perl
  • Постоялец
  • ***
  • Сообщений: 146
  • +0/-0
  • 2
    • Просмотр профиля
    • http://perlmonks.org.ru
Вообще такая задача решается одной функцией. Но если вам модули по душе - то ищите на спан.
Я пользуюсь в основном двумя функциями - для работы с HTML.

sub _toHTML {
my $Tmp=shift;
return \'\' unless defined $Tmp;
    $Tmp =~ s|&|&|g;
    $Tmp =~ s||-->|g;
    $Tmp =~ s|    $Tmp =~ s|>|>|g;
    $Tmp =~ s|<|<|g;
    $Tmp =~ s|"|"|g;
    $Tmp =~ s!^\\s+!!;
    $Tmp =~ s!\\s+$!!;
    $Tmp =~ s|  |  |g;
    $Tmp =~ s!\\|!|!g;
    $Tmp =~ s|\\n|
|g;
    $Tmp =~ s|\\$|$|g;
    $Tmp =~ s|\\r||g;
    $Tmp =~ s|\\_\\_(.+?)\\_\\_||g;
    $Tmp =~ s|\\\\|\|g;
    $Tmp =~ s|!|!|g;
    $Tmp =~ s|\\\'|'|g;
return $Tmp;
}

sub _fromHTML {
my $Tmp=shift;
return \'\' unless defined $Tmp;
    $Tmp =~ s|&|&|g;
    $Tmp =~ s|<!--||g;
    $Tmp =~ s|<script|    $Tmp =~ s|>|>|g;
    $Tmp =~ s|<|<|g;
    $Tmp =~ s|"|"|g;
    $Tmp =~ s| |  |g;
    $Tmp =~ s!|!\\|!g;
    $Tmp =~ s|
|\\n|g;
    $Tmp =~ s|$|\\$|g;
    $Tmp =~ s|\|\\\\|g;
    $Tmp =~ s|!|!|g;
    $Tmp =~ s|'|\\\'|g;
return $Tmp;
}


P.S
правильно сказал ondr - вопрос не совсем корректен. Но мой ответ именно на тот вопрос который имелся в виду (наверно) ;-)))
EDIT:
Ээээ... форум искажает код функций... :mad:
« Последнее редактирование: 30 Мая 2005, 15:38:06 от cr4ck3r »
Ворота в perl - perlmonks.org.ru

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28