| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Как блокировать вывод гиперссылки ? |
| Автор: ask 27.5.2006, 21:19 |
| Как блокировать вывод гиперссылки, оставив ее значение? Вот текст алгоритма: open F,"abc.txt" or die "Can not open input file ABC.TXT"; open T,">result.txt" or die "Can not open output file RESULT.TXT"; while(<F>){ chomp; next if /^$/; sleep(1); $url=$_; A:{ `wget -q -O index.html http://nic.ru/whois/?domain=$url`; open FF,"index.html" or die "Can not open file from URL $url"; $str=join "",<FF>; $str =~ s/\ //g; close FF; } if($str =~ "free"){ ($type) = $str =~ /type:\ *(.*)\ *\</; ($registrar) = $str =~ /registrar:\ *(.*)\ *\</; ($person) = $str =~ /person:\ *(.*)\ *\</; ($ns1,$ns2) = $str =~ /nserver:\ *(.*)\ *\<(.*)/; ($ns2)= $str =~ /nserver:\ *(.*)\ *\</; ($created) = $str =~ /created:\ *(.*)\ *\</; ($free) = $str =~ /freeing date(.*)\</; ($paid) = $str =~ /paid\-till:\ *(.*)\ *\</; $s="$url $registrar\n"; print "$s"; print T $s; next; } } вот результат: accounts.ru <a href="http://www.ripn.net/nic/whois/whois.cgi?RUCENTER-REG-RIPN" target="_blank">RUCENTER-REG-RIPN</a> а нужен: accounts.ru RUCENTER-REG-RIPN PS Я не программист, поэтому, кого не затруднит, подскажите как можно доходчивей. (какую команду куда вставить) |
| Автор: nitr 28.5.2006, 01:31 | ||||||
| регулярные выражения вот "страшный" скрипт... быстренько написал... доработай и пользуйся в удовольствие: check.pl
in_file - in
использовал perl ./check.pl in out out
Но именно тебе можно так: перед выводом accounts.ru <a href="http://www.ripn.net/nic/whois/whois.cgi?RUCENTER-REG-RIPN" target="_blank">RUCENTER-REG-RIPN</a> вставь: =~ s/<a.+?>(.+)<\/a>/$1/i; |
| Автор: ask 28.5.2006, 08:58 | ||
Спасибо. Упражнения со вставкой "перед выводом вставь "=~ s/<a.+?>(.+)<\/a>/$1/i;" приводят к отказу работы проги. А вот прям в текст можно примером? ...... ($paid) = $str =~ /paid\-till:\ *(.*)\ *\</; $s="$url $registrar\n"; ...... =~ s/<a.+?>(.+)<\/a>/$1/i; ..... print "$s"; print T $s; ...... |
| Автор: nitr 29.5.2006, 01:16 | ||
гггг, только для тебя ;)
|
| Автор: ask 29.5.2006, 13:32 |
| Ага, значит прописать эти свойства переменной $s. Отлично, все работает. nitr, Спасибо! |