Всем привет. Ответа в интернете не нашёл, поэтому решил спросить у вас, надеюсь поможете :)Нужно найти в html файле найти фразу начинащиеся на
<table class='comm3 test'
и заканчивающимся на
</div>
Затем в данном отрывке удалить все англ символы включая "<,/,>". т.е удалить теги и вывести только русский текст.Реализовать скриптом реально?
> Всем привет. Ответа в интернете не нашёл, поэтому решил спросить у вас,
> надеюсь поможете :)
> Нужно найти в 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;
Данным скриптом не получиться. Он просто отсеет в документе не нужные символы, так как строка в документе одна. Есть ещё варианты?
> Данным скриптом не получиться.вы проверяли? Я, да, у меня работает.
> Он просто отсеет в документе не нужные символы,
а что, разве нужно наоборот, добавить?
смотрим изначальный посыл
>> Затем в данном отрывке удалить все англ символы включая "<,/,>". т.е удалить теги и вывести только русский текст.А это как понимать:
> так как строка в документе однав каком документе? какая строка?
В изначальном файле HTML? скрипте?
> А это как понимать:
>> так как строка в документе одна
> в каком документе? какая строка?
> В изначальном файле HTML? скрипте?Сейчас объясню. Данном html документе имеиться лишь одна длинная строка вида..
<html><head></head><body>test<div>(и куча-куча разного кода, вплоть до 14000 тысяч символов). Понимаете?
>> А это как понимать:
>>> так как строка в документе одна
>> в каком документе? какая строка?
>> В изначальном файле 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;
получаем на выходе
Нужный текст Жирный текст
>[оверквотинг удален]
> /<\/div>/;
> }
> close FH;
> for (@array) {
> s/[0-9,a-z,A-Z,\/,<,>,=,\',\"]//g;
> print;
> }
>
Можно ли добавить слова которые не будут исключаться из поиска? (внутри фразы на англ)