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 :

Remplacer plusieurs occurrences d'un mot


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut Remplacer plusieurs occurrences d'un mot
    Bonjour à tous,

    Je parse un fichier HTML avec file_get_contents().
    Je voudrais remplacer la chaîne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $str = "src=\"images/mon_image.gif\"";
    ou
    $str = "src=\"../images/mon_image.gif\"";
    ou
    $str = "src=\"../../images/mon_image.gif\"";
    Par
    http://www.monsite.com/images/

    pour obtenir : http://www.monsite.com/images/mon_image.gif

    Je vois bien comment le faire avec str_replace pour un des 3 cas de figure, mais pas pour les 3...
    Merci d'avance pour le tuyau...

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $chaine='\"../../images/mon_image.gif\"';
    $reg='#(\.{2}/)*?(images)#';
    echo preg_replace($reg,'http://monsite.com/$2', $chaine);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Bonjour SpaceFrog (décidément, tu es partout, c'est incroyable !)

    Ca fonctionne impec quelque soit le cas de figure. Cependant j'aimerais que le terme img src= soit inclu de façon à ce que le mot image ne soit pas remplacé partout dans le texte, par exemple :

    $str = 'Voici une belle image : <img src="../images/mon_image.gif>"'

    soit remplacé par :

    'Voici une belle image : <img src="http://www.monsite.com/images/mon_image.gif">'

    Tu vois le truc ?

  4. #4
    Inactif  
    Inscrit en
    Novembre 2008
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 255
    Par défaut
    salut

    je pense qu'il vaut mieux pour toi que tu apprenne à le faire

  5. #5
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Merci à vous... mais je rame à mort avec les regex...

    Même en triturant en tous sens l'exemple de SpaceFrog et en mangeant des tutos à la pelle, je n'arrive pas à faire en sorte que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <img src="images/mon_image.gif">
    ou
    <img src="../images/mon_image.gif">
    ou
    <img src="../../images/mon_image.gif">
    ou
    <IMG SRC="images/mon_image.gif">
    etc...
    Soit systématiquement remplacé par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="http://www.monsite.com/images/mon_image.gif">
    Désolé...ça veut pas rentrer dans ma vieille caboche...

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    je pense que ma caboche est bioen plus vielle que la tienne mais c'est rentré quand même ... peut être parcequ'il y avait beaucoup de vide ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $chaine='\"../../images/mon_image.gif\"';
    $reg='#(.*)(\.{2}/)*?(images)#';
    echo preg_replace($reg,'$1http://monsite.com/$3', $chaine);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. [XL-2010] Fonction Excel : RECHERCHEV / REMPLACER / plusieurs mots.
    Par DocteurDingue dans le forum Excel
    Réponses: 11
    Dernier message: 10/06/2015, 11h46
  2. chercher remplacer plusieurs mots dans word en VBA
    Par Benabdelkader dans le forum VBA Word
    Réponses: 2
    Dernier message: 11/05/2015, 15h04
  3. [Toutes versions] Remplacement de plusieurs occurrences par des compteurs
    Par Scypio dans le forum VBA Word
    Réponses: 1
    Dernier message: 16/01/2014, 13h27
  4. remplacer plusieurs mots par un seul mot
    Par nivose110 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 07/02/2007, 09h40
  5. Remplacer plusieurs colonnes par un 'alias'
    Par zestrellita dans le forum Langage SQL
    Réponses: 7
    Dernier message: 22/04/2004, 16h51

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