hppp Serveur@home | Salut a tous
Je suis en trains de coder une interface pour asterisk en php et je récupère des morceaux de code sur le net.
Code :
- fputs($socket, "Action: SIPShowPeer\r\n" );
- //on indique l'extention a tester
- fputs($socket, "Peer: ovh\r\n\r\n" );
- // on se déconnecte du manager
- fputs($socket, "Action: Logoff\r\n\r\n" );
- //on fait un filtre une regex pour chercher que ce qui est intéressant dans le retour de sipshowpeer
- while (!feof($socket)) {
- $wrets .= fgets($socket,8192);
- $show = preg_match("^Address-IP: [0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}^", $wrets, $matches);
- $stat = preg_match("^SIP-Useragent: .{1,35}^", $wrets, $status);
- }
- // pour info et avoir le retour complet de la commande sans filtre enlever les deux slash de la ligne ci-dessous
- //echo $wrets;
- //si on trouve pas l'expression recherchée c'est que l'extention n'est pas en ligne donc on affiche not-online en rouge
- if ($show=="0" )
- {
- echo "<font color=\"#FF0000\">NOT-ONLINE</font>";
- } else {
- // on a trouvé l'expression cherchée donc l'extention est en ligne
- echo "<font color=\"#006600\">ON-LINE</p> ",(print_r( implode(" ", $matches),1)),"</font></p>";
- echo "<font color=\"#006600\">",(print_r( implode(" ", $status),0)),"</font></p>";
- }
|
J'ai donc ce code, preg_match("^Address-IP: [0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}^", $wrets, $matches); je sais que preg_match sert à faire une recherche dans un array mais je n'arrive pas à trouver la syntaxe pour modifier "^Address-IP: [0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}^" et ainsi pouvoir récupérer d'autres informations, j'ai regardé la doc de php mais il n'y a pas cette syntaxe. Merci de vos aide. |