IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHP str_replace


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut PHP str_replace
    Bonjour,

    Je n'arrive pas à résoudre ce problème et j'espère que vous pourrez m'aider.

    Je recherche à l'aide de ereg() un numéro dans un fichier.Ce numéro est entrer par l'utilisateur. Dans le fichier l'information est écrite ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    numero => pin,etc...
    A la base je demandais d'entrer numero et pin et le nouveau pin à l'utilisateur puis à l'aide de la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $texte_complet=str_replace($numero." => ".$pin.",",$numero." => ".$new_pin.",",$texte_complet);
    Je rempklaçait l'ancien pin par le nouveau. Maintenant le problème est que je ne dois demander que le numéro à l'utilisateur et le nouveau pin, puis remplacer l 'ancien pin par le nouveau.

    Je ne sais pas comment faire se remplacement?? Y a-t-il un moyen de dire par exemple de remplacer le texte jusqu'à la virgule??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     $texte_complet=str_replace($numero." => ?????",",$numero." => ".$new_pin.",",$texte_complet);
    Auriez vous une idée... Je ne sais pas du tout si c'est compliqué... Je suis un novice un prog.....

    Merci beaucoup pour voter aide:::::

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut

    Tu peux nous donner un exemple concret ?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    C'est un modification d'un mot de passe d'une boite vocale. Ces information sont contenues dans un fichier texte sous ce format:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ...
    numero => pin,email,etc...
    Ensuite j'ai un interface web pour réaliser la modification de mot de passe, et je dois demander uniquement le numero et le nouveau mot de passe.

    Donc à mon avis il faudrait que je remplace depuis "numero" jusqu'à la , par:
    numero => nouveau_pin,

    quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $texte_complet=str_replace($numero." => ici je dois dire jusqu'àla virgule!!!,",$numero." => ".$new_pin1.",",$texte_complet);
    Merci beaucoup pour votre aide...

  4. #4
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Par défaut
    Ouh là...

    Plus ça va et moins je comprend. Je dois vraiment être fatiguée...

    Faut dire que les vendredis après midi sont assez difficiles en général!

  5. #5
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <pre><?php
     
     
    $texte_complet = "numero => pin,email,etc... ";
    var_dump($texte_complet);
     
    $numero   = 'numero';
    $new_pin1 = 'pun';
     
    $texte_complet=preg_replace('|'.$numero." => .*?,|",$numero." => ".$new_pin1.",",$texte_complet);
     
    var_dump($texte_complet);
    ?>

  6. #6
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    ça ne fonctionne pas, voici mon code peut être que se serra plus ecplicite que mes explications:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?
    $numero = $HTTP_POST_VARS['numero'];
    $new_pin1 = $HTTP_POST_VARS['new_pin1'];
    $new_pin2 = $HTTP_POST_VARS['new_pin2'];
     
    $fp = fopen ("/etc/asterisk/voicemail.conf","r");
    $texte_complet = fread ($fp, filesize("/etc/asterisk/voicemail.conf"));
     
      if(ereg($numero." => ",$texte_complet))
      {
        if($new_pin1 == $new_pin2)
        {
         //remplacer pin par new_pin1 ou new_pin2
         $texte_complet=str_replace('|'.$numero." => .*?,|",$numero." => ".$new_pin1.",",$texte_complet);
         fclose($fp);
         $ouvre=fopen("/etc/asterisk/voicemail.conf","w+");
         fwrite($ouvre,$texte_complet);
         fclose($ouvre);
         echo "<html>";
         echo "<head><title>Interface Web Comedian Voice Mail</title></head>";
         echo "<body>";
         echo "<p><h1><center>Mot de passe Modifié</center></h1></p>";
         echo "<p>Numéro de la boite vocale : <b>$numero</b></p>";
         echo "<p>Ancien PIN : <b>$pin</b></p>";
         echo "<p>Nouveau PIN : <b>$new_pin1</b></p>";
         echo "<center><a href=\"/html/admin/IW_index.html\">Accueil</a></center>";
         echo "</body>";
         echo "</html>";
         //permet de reloader asterisk pour prendre en compte les modifications
         exec("sudo asterisk -rx \"reload\"");
     ....
    Avez vous une idée??

    Merci beaucoup!!!!!!!!!!!!

  7. #7
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    C'est encore plus obscure

    Mais mon code fonctionne !
    essaye ceci dans un nouveau script, tu m'en diras des nouvelles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <pre><?php
     
     
    $texte_complet = "
    numero1 =>  pin,email,etc...
    numero  =>  pin,email,etc...
    numero2 =>  pin,email,etc...";
    var_dump($texte_complet);
     
    $numero   = 'numero';
    $new_pin1 = 'pun';
     
    $texte_complet=preg_replace('|'.$numero."\s*=>\s*.*?,|",$numero." => ".$new_pin1.",",$texte_complet);
     
    var_dump($texte_complet);
    ?>

  8. #8
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    pourrais tu me dire ce que signifie exactement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    '|'.$numero."\s*=>\s*.*?,|"
    merci bien d'aider un jeune débutant...

  9. #9
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    à quoi ça sert les |???

  10. #10
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    ce sont des délimiteurs =>
    http://www.expreg.com/pcre.php

  11. #11
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    merci pour le lien j'ai regardé leurs doc, mais là je comprend encore moins!!!!

    Car .*? signifie que tu peux avoir 0 ou plusieurs occurence de n'importe quel caractère ce qui est ce que je veux vu que c'est un mot de passe..

    Mais pourquoi ça ne fonctionne pas alors??????????

    Auriez vous une idée???

  12. #12
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Tu as essayé le dernier code que je t'ai donné ??? Et ce que c'est ce que tu voulais ?

  13. #13
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    oui j'ai testé c'est exactement ça

  14. #14
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    MERCI BEAUCOUP!!!!!

    au faite en utilisant le code que tu m'a envoyé ça fonctionne mais avec str_replace ça ne fonctionnait pas.

    En tout cas merci beaucoup tu m'as bien dépanner j'espère pouvoir te retourner ça un jours.

    Bon week end et encore merci, c'est là que je vois que j'ai encore beaucoup à apprendre....

  15. #15
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    J'accepte les chèques



+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [php] str_replace et strpos
    Par NeoKript dans le forum Langage
    Réponses: 7
    Dernier message: 28/10/2009, 20h13
  2. [PHP-JS] str_replace sous IE
    Par nonhosonno dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 06/02/2007, 11h56
  3. Un équivalent str_replace ou strtr de php en js ?
    Par lametal dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 10/10/2006, 17h10
  4. Réponses: 34
    Dernier message: 24/05/2006, 01h08
  5. Php: str_replace étrange...
    Par Abused dans le forum Langage
    Réponses: 13
    Dernier message: 23/02/2006, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo