Forum Webscript.Ru
Программирование => Perl => Тема начата: Отец Никон от 17 Января 2003, 19:14:57
-
Вроде бы ясно, как удалить тэги из текста:
$post=~s/</g;
$post=~s/>/>/g;
Но как сделать, чтобы некоторые тэги игнорировались? Если это простые тэги, типа , то я думаю сделать просто:
$post=~s/<B>//g;
Но как быть, например, с тэгом ? Ведь внутри его могут быть какие-то атрибуты (напр. ) и простой заменой не обойтись.
И ещё: как сделать, чтобы URL-ы выделялись тэгом ?
-
$post=~s/<FONT (.*)>//gi;
А вообще купи книжку MRE или на сайтах поищи
-
Хозяйке на заметку
Заменяем теги
sub html_encode {
my ($object, $tmp) = @_;
$tmp =~ s!&!&!g;
$tmp =~ s!>!>!g;
$tmp =~ s! $tmp =~ s!\\"!"!g;
return $tmp}
Убираем их вообще (работает не по условию а как каток)
sub clearHTML {
my ($object, $Tmp) = @_;
$Tmp =~ s/<.+?>//g;
return $Tmp}
Перекодируем в одну и другую сторону:
sub unHTML {
my ($object, $Tmp) = @_;
my %ENT=(\'<\'=>\'lt\',\'>\'=>\'gt\',\'"\'=>\'quot\');
$Tmp =~ s!([<>"])!&$ENT{$1};!g;
$Tmp =~ s||-->|g;
$Tmp =~ s|