Forum Webscript.Ru

Программирование => Perl => Тема начата: Elenka от 30 Мая 2005, 13:49:34

Название: нужен модуль для замены < на >, © на © и так далее...
Отправлено: Elenka от 30 Мая 2005, 13:49:34
в общем хтмл в плейн текст перевести...

спасибо
Название: нужен модуль для замены < на >, © на © и так далее...
Отправлено: ondr от 30 Мая 2005, 14:35:29
http://search.cpan.org/search?query=html+entities&mode=all

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

эта фраза несколько некорректна...
Название: нужен модуль для замены < на >, © на © и так далее...
Отправлено: cr4ck3r от 30 Мая 2005, 15:31:48
Вообще такая задача решается одной функцией. Но если вам модули по душе - то ищите на спан.
Я пользуюсь в основном двумя функциями - для работы с 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: