- Поиск и вывод фразы, михалыч, 20:43 , 26-Ноя-13 (1)
> Всем привет. Ответа в интернете не нашёл, поэтому решил спросить у вас, > надеюсь поможете :) > Нужно найти в html файле найти фразу начинащиеся на > <table class='comm3 test' > и заканчивающимся на > </div> > Затем в данном отрывке удалить все англ символы включая "<,/,>". т.е удалить > теги и вывести только русский текст. > Реализовать скриптом реально? #!/usr/bin/perl use strict; use warnings;
my $file = "/path/to/file"; my @array;
open(FH, $file) or die "Can't read $file: $!";
while(<FH>) { push @array, $_ if /<table class='comm3 test'/ .. /<\/div>/; }
close FH;
for (@array) { s/[0-9,a-z,A-Z,\/,<,>,=,\',\"]//g; print; }
Вместо s/[0-9,a-z,A-Z,\/,<,>,=,\',\"]//g; можно попробовать s/[^а-я,А-Я,-,\s]//g;
- Поиск и вывод фразы, sozidatel, 21:31 , 26-Ноя-13 (2)
Данным скриптом не получиться. Он просто отсеет в документе не нужные символы, так как строка в документе одна. Есть ещё варианты?
- Поиск и вывод фразы, михалыч, 05:01 , 27-Ноя-13 (4)
> Данным скриптом не получиться.вы проверяли? Я, да, у меня работает. > Он просто отсеет в документе не нужные символы, а что, разве нужно наоборот, добавить? смотрим изначальный посыл >> Затем в данном отрывке удалить все англ символы включая "<,/,>". т.е удалить теги и вывести только русский текст. А это как понимать: > так как строка в документе одна в каком документе? какая строка? В изначальном файле HTML? скрипте?
- Поиск и вывод фразы, tolkoshto is army, 09:57 , 27-Ноя-13 (5)
> А это как понимать: >> так как строка в документе одна > в каком документе? какая строка? > В изначальном файле HTML? скрипте?Сейчас объясню. Данном html документе имеиться лишь одна длинная строка вида.. <html><head></head><body>test<div>(и куча-куча разного кода, вплоть до 14000 тысяч символов). Понимаете?
- Поиск и вывод фразы, михалыч, 13:11 , 27-Ноя-13 (6)
>> А это как понимать: >>> так как строка в документе одна >> в каком документе? какая строка? >> В изначальном файле HTML? скрипте? > Сейчас объясню. Данном html документе имеиться лишь одна длинная строка вида.. > <html><head></head><body>test<div>(и куча-куча разного кода, вплоть до 14000 тысяч символов). > Понимаете?типа так <html><head></head><body>Ненужный текст<table class='comm3 test'><div>Text<p>Нужный</p> текст <a>link</a><b>Жирный текст</b>test</div></table></body></html> #!/usr/bin/perl use strict; use warnings; my $file = "/path/to/file"; open(FH, $file) or die "Can't read $file: $!"; while ( <FH> ) { /<table class='comm3 test'(.*)<\/div>/; my $txt = $1; $txt =~ s/<.*?>//gi; $txt =~ s/[0-9,a-z,\/,<,>,=,\',\"]//gi; print $txt; } close FH; получаем на выходе Нужный текст Жирный текст
- Поиск и вывод фразы, mowerbread, 23:11 , 26-Ноя-13 (3)
>[оверквотинг удален] > /<\/div>/; > } > close FH; > for (@array) { > s/[0-9,a-z,A-Z,\/,<,>,=,\',\"]//g; > print; > } > > Вместо s/[0-9,a-z,A-Z,\/,<,>,=,\',\"]//g; > можно попробовать s/[^а-я,А-Я,-,\s]//g; Можно ли добавить слова которые не будут исключаться из поиска? (внутри фразы на англ)
|