Probleme REGEX et PHP

Probleme REGEX et PHP - PHP - Programmation

Marsh Posté le 29-05-2008 à 17:58:37    

Bonjour,
 
J'essaye de remplacer à partir d'un fichier une addresse IP. Lorsque que j'entre l'IP en dure $contenuMod=str_replace('192.168.100.105', $_POST['ip'], $contenu); ca fonctionne trés bien, par contre je voudrais mettre des regex pour que cela soit plus propre mais ca ne fonctionne pas.
 

Code :
  1. <?php
  2. $fichier="file.conf";
  3. //ouverture en lecture et modification
  4. $text=fopen($fichier,'r') or die("Fichier manquant" );
  5. $contenu=file_get_contents($fichier);
  6. $regex = '\b([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\b';
  7. $contenuMod=ereg_replace($regex, $_POST['ip'],$contenu);
  8. #$contenuMod=str_replace('192.168.100.105', $_POST['ip'], $contenu);
  9. echo $contenuMod;
  10. fclose($text);
  11. //ouverture en écriture
  12. $text2=fopen($fichier,'w+') or die("Fichier manquant" );
  13. fwrite($text2,$contenuMod);
  14. fclose($text2);
  15. ?>


 
Merci d'avance

Reply

Marsh Posté le 29-05-2008 à 17:58:37   

Reply

Marsh Posté le 29-05-2008 à 19:12:24    

valider des adresse ip avec des regesp , c'est nul par exemple comment ne pas valider 256.256.256.256 ?

 

fait plutot

Code :
  1. $t_= explode('.',$ip);
  2. $cpt = 0;
  3. foreach($t_ as $pwet)
  4. {
  5.    $cpt++;
  6.    if(!is_numeric($pwet) || $pwet < 0 && $pwet > 255)
  7.         return false;
  8.    if($cpt > 4)
  9.        return false;
  10. }   
  11. return true;


Message édité par flo850 le 29-05-2008 à 19:12:34

---------------

Reply

Marsh Posté le 29-05-2008 à 19:26:54    

en fait je ne souhaite pas savoir si l'IP est valide ou non, mais juste la modifier

Reply

Marsh Posté le 29-05-2008 à 19:37:02    

oui je comprends. tu veux parser toutes tes ip dans ton fichier et la modifier. En effet pour reconnaitre ton ip dans ton fichier, je pense que l'utilisation d'une regex est la meilleur solution.
 
bonne chance

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed