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 une image avec <img scr


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut Remplacer une image avec <img scr
    j'ai un contenu $desc incluant ce tag je fais un code comme celà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $rech='/\[(.*?)\]/is';$rempl='<img src="$1"  title="$1" />';$desc=preg_replace($rech,$rempl,$desc);
    l'inconvénient c'est que çà me donne ce résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img scr="images/image/1.jpg" title="images/image/1.jpg" />
    alors que j'aimerais avoir comme résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img scr="images/image/1.jpg" title="1.jpg" />
    il manque un petit truc mais là je suis bloqué.merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Il n'y a pas besoin de regex, tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $txt = trim('[images/image/1.jpg]', '[]');
    $html = '<img src="' . $txt . '" title="' . basename($txt) . '" />';
    ?>

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Bonjour,

    Il n'y a pas besoin de regex, tu peux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $txt = trim('[images/image/1.jpg]', '[]');
    $html = '<img src="' . $txt . '" title="' . basename($txt) . '" />';
    ?>
    oui j'ai déjà pensé a celà.mais c'est pas adpaté dans mon cas j'aimerais plutot une solution expreg

  4. #4
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Essaie comme ceci...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $desc=preg_replace('%\[((?:.*?/)*(.+?)\.[a-z0-9]+)\]%i', '<img scr="$1" title="$2" />', $desc);
    En prenant soin au préalable que les données entre crochets representent effectivement une URL. Dans le cas contraire, si des guillemets sont présents par exemple, le code XHTML généré pour l'image serait "cassé".

    Edit :
    Voir aussi :
    parse_url (Analyse une URL et retourne ses composants)
    filter_var (Filtre une variable avec un filtre spécifique)

  5. #5
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour Eric2a,
    Avec ton pattern tu ne récupères pas le jpg du nom de fichier : title="1"Je l'ai un peu modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $desc = preg_replace('%\[((?:.*?/)*((.+?)\.\w+))\]%i', '<img scr="$1" title="$2" />', $desc);

  6. #6
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Bien vu et Merci pour la correction rawsrc

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/02/2011, 10h13
  2. Réponses: 4
    Dernier message: 29/10/2010, 14h40
  3. [img] Remplacer une image inexistante
    Par themoye dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/10/2009, 11h49
  4. [Débutante] Création d'une image avec un composant
    Par gwendo dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/07/2004, 09h58
  5. PL/SQL - Comment afficher une image avec HTP ?
    Par patmaba dans le forum PL/SQL
    Réponses: 2
    Dernier message: 08/07/2004, 09h28

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