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 :

Les fonctions de remplacement


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 41
    Par défaut Les fonctions de remplacement
    Bonjour,

    Je voudrais echanger dans une variable contenant du texte, toutes les chaines du type width="570" (par exemple) par une chaine vide rien ('').
    En gros supprimer toutes les chaines de type "width="%" ou %peut prendre n'importe quelle valeur.

    J'ai essayé avec les fonctions ereg_replace sans succès.

    Est-ce que quelq'un aurait une idée ou une solution?

    Par exemple si je rentre en paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <table width="570" border="0" cellspacing="0" cellpadding="2">
    je veux que ca me renvoie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <table border="0" cellspacing="0" cellpadding="2">
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Salut

    peut-être ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = preg_replace('<width=".*">i', '', $chaine);
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 41
    Par défaut
    Nickel ca marche du premier coup.

    Vu que tu as l'air de bien connaitre la fonction preg_replace(). Je voudrais aussi ajouter a la suite de mes liens href le carcetere "|"

    ex: J'ai le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="mailto:rieu.moto@wanadoo.fr">rieu.moto@wanadoo.fr</a>
    et je voudrais que ca me renvoie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="mailto:rieu.moto@wanadoo.fr">rieu.moto@wanadoo.fr</a> |
    Merci d'avance si tu peux m'aider

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Par défaut
    Soit $chaine contient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="mailto:rieu.moto@wanadoo.fr">rieu.moto@wanadoo.fr</a>
    Pour que ca te renvoie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="mailto:rieu.moto@wanadoo.fr">rieu.moto@wanadoo.fr</a> |
    Il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $chaine = str_replace('</a>', '</a> |', $chaine);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 41
    Par défaut
    Ok merci.

    C'est ce que j'ai fait une fois mon message posté lol.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Par défaut
    Citation Envoyé par ribrok
    Ok merci.

    C'est ce que j'ai fait une fois mon message posté lol.
    C'est simpa de trouver les choses soit même

    Résolu?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 41
    Par défaut
    Dc pour ce dernier point c resolu mais par contre la 1ere fonction que l'on m'a donné me pose des soucis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $chaine = preg_replace('<width=".*">i', '', $chaine);
    Pour ce texte ca marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <table width="570" border="0" cellspacing="0" cellpadding="2">
    Par contre si j'ai ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <table width="570%" border="0" cellspacing="0" cellpadding="2">
    Juste en rajoutant le pourcentage, il m'efface tout le contenu compris entre <table et >.
    Soit

    et donc mon code devient faux.

    Je ne comprends pas tres bien l'utilisation du "i" et de "*" dans la fonction preg_replace, quelqu'un peut-il m'éclairer?

    Merci d'avance

  8. #8
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Salut, tu peux essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = preg_replace('#width=".*"#isU', '', $chaine);
    Pour plus d'infos, tu peux jeter un oeil ici : http://fr2.php.net/manual/fr/function.preg-replace.php et là http://cyberzoide.developpez.com/php4/regex/

    Bon développement

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 41
    Par défaut
    Merci j'ai toujours pas compris comment ca marche mais ca fonctionne parfaitement sur mon site !!!

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

Discussions similaires

  1. [Turbo Pascal] Fonction qui remplace les caractères entrés par des étoiles (*)
    Par Dr.Mimo dans le forum Contribuez
    Réponses: 0
    Dernier message: 30/03/2012, 21h51
  2. doc sur les fonctions
    Par masterfab dans le forum C
    Réponses: 18
    Dernier message: 23/06/2005, 17h55
  3. Réponses: 11
    Dernier message: 22/12/2003, 21h06
  4. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  5. Réponses: 7
    Dernier message: 24/05/2003, 15h56

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