[php] selections de texte dans une variable

salut a tous,
je suis en train de creer un … truc qui se connecte sur IRC, pour le moment on ne peut pas appeller ça un bot :stuck_out_tongue:
mais bon un jour peut etre B)

Je me retrouve donc avec pleins de bordel dans des variables, que je voudrais trier.

[code]<?php
$serv = ‹ irc.neliger.com ›;
$irc = fsockopen($serv, ‹ 6667 ›);
fwrite($irc, ‹ USER PHPBot Unknow Unknow :Bot PHP ›.« \r\n »);
fwrite($irc, ‹ NICK coucou ›.« \r\n »);
fwrite($irc, ‹ JOIN #progboards ›.« \r\n »);
while (1) {
 $var =  nl2br(fgets($irc, 25));
echo $var; }

?>[/code]

Voilà, en gros ça donne ça.
j’ai vu via une session telnet que si on fait un :
MODE #progboards +o Fser9 ça donne l’op etc …

Je souhaiterai donc pouvoir facilement faire des choses comme [strike]donner l’op[/strike] ou dire des conneries à la demande :
exemple : !connerie
Mais surtout repondre aux ping histoire de pas etre déco :stuck_out_tongue: ( avec pong ? )
il faut donc que j’arrive a detecter cela.

je met un ptit journal de ce qui se passe a la connec.

La question est donc la suivante : comment :stuck_out_tongue: ?
j’avais pensé aux expressions regulieres, mais je galere un peu j’avoue …
mais si je detecte un !« ![a-z] »!i je suis pas trop mal parti non ?

J’ai aucune experience dans le domaine, d’ou ma detresse :stuck_out_tongue:

Va voir du coté de SmartIRC, c’est un pote qui programme ça, sa marche tres bien pour faire des bots en php.

https://sourceforge.net/projects/phpsmartirc/

J’etais allé voir, mais je maitrise peu les classes, et tout est classé sur smartirc :s

Pour les intéréssés : j’ai réussi !

ereg("^:(.+)!(.+):(.+)$", $vari, $truc);

Cet exemple :

<?php $vari = ":Fser!Fser@nel-F492040A.w83-193.abo.wanadoo.fr PRIVMSG #progboards :je parle"; ereg("^:(.+)!(.+):(.+)$", $vari, $truc); echo $truc[2]; echo '<br>'; echo $truc[1].' dit :'.$truc[3]; echo '<br>'; ?>
retourne donc :
Fser@nel-F492040A.w83-193.abo.wanadoo.fr PRIVMSG #progboards
Fser dit :je parle

</mavie.com>