| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
phppub (irssi)empty 07.03.03 11:00 Hakee php.netistä manuaalista funktion selosteen ja "käyttöohjeen". Erittäin tyhmästi tehty, ei kannata ottaa hirveästi opiksi.
use strict; use Irssi; use LWP::UserAgent; my $VERSION = "20030307"; my %IRSSI = ( authors => "Teemu 'tpr' Rytilahti", contact => "tpr\@d5k.net", name => "phppub.pl", description => "phppub.", license => "GPL v2 and any later", url => "http://tpr.d5k.net/irssi/", ); sub php { my ($server, $msg, $nick, $address, $channel) = @_; #Onko rivin alussa .php, jos on niin jatketaan.. if($msg =~ /^\.php .+?$/) { my ($cmd,$function) = split(/ /,$msg);; $function =~ s/_/-/g; my $ua = LWP::UserAgent->new(env_proxy=>1, keep_alive=>1, timeout=>5); $ua->agent('Mozilla/5.0 (compatible; Konqueror/3.1; Linux; i686'); #Pyydetään tiedostoa palvelimelta.. my $request = $ua->get('http://fi2.php.net/manual/fi/print/function.'.$function.'.php'); my $content = $request->content(); #Poistetaan ylimääräiset roskat pois ennen käsittelyä. $content =~ s/\n/ /g;$content =~ s/\ +/ /g;$content =~ s/ //g; #Hankitaan funktion nimi "tyhmällä"(?) tavalla. (voidaan ottaa suoraan myös querystä..) my ($func) = ($content =~ /<title>PHP: (.+?)<\/title>/); #Hankitaan seloste ja "käyttöohje". my ($tip,$usage) = ($content =~ /${func}--(.+?)<\/DIV >/,$content =~ /<H2 >Description<\/H2 >(.+?${func}<\/B >.+)<BR ><\/BR >/); my $line = "[$func] $usage - $tip";$line =~ s/ +/ /g;$line =~ s/<.+?>//g; #Ja sitten lisää purkkaa.. if($func ne "Search Results") { if(!$tip || !$usage) { $server->command("MSG $channel [$func] Tietoja ei saatu."); } else { $server->command("MSG $channel $line"); } } else { $server->command("MSG $channel Funktiota '${function}' ei löytynyt."); } } } Irssi::signal_add_last('message public','php'); pikkumyy 21:08 21.3.03 Jos "ei kannata ottaa opiksi" niin kannattaako tänne submittaa? |
![]() Haku
|