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 :

Regex pour preg_replace avec exclusion


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Par défaut Regex pour preg_replace avec exclusion
    Bonjour , alors pour commencé je ne suis pas un expert des regex
    loin de la d'ailleurs
    avec les regex simples ça va mais la j'ai un souci
    je vais essayer d'expliquer mais c'est pas simple

    donc je veux faire un preg replace sur des balises img dans le code html
    j'utilise tinymce qui me met des balises images comme ceci pour les smileys
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img title='{#wink.gif}' src='data:image/gif;base64,R0lGODlhFAAUAHMAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJCgAPACwAAAAAFAAUAINDNBDU0srTow16aT7x0BuelHbv8vNpUBKZcwr94yF1YzbkuxSxig3////h4d0AAAAEnPDJSaulJpRxziiBcUlOcTALQQjMUThXoCBEYifqgihB5RyCmxC3aMEkhgJjOCToCqJH4FBjJgBEwaH3UN4A4K/NiShIFAurDZsdSKhqoVP7rrHV88M5dWc6iwoSSnZ4CwJlElMpV36GWlxJKCphYwuGZVEPPygpKn8CLAdHEzIIApaooAc8FyUHCAygDAguoxYZBQodCiCZI78VEQA7' border='0' alt='{#wink.gif}'/>
    le but au départ était de repérer les images extérieures
    le souci c'est que je récupérais la balise img et que je remplacait pas un lien pour que les modo fassent les changements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte = preg_replace("/<((img.*?src=[\"\'](http:)?\/\/)(?!(www\.)?aqua-passion)(.*?)[\"\'](.*?))>/i", "IMAGE EXTERIEURE A METTRE SUR LE SERVEUR =><a href='http://\\4' target='_blank'>&lt;\\1&gt;</a>", $texte);
    cette regex bug donc avec l'attribut "src='data:image/gif..." indiqué plus haut
    Je voulais donc l'exclure avec une regex du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /<(img.*?src=[\"\']((http:\/\/)(?!(www\.)?aqua-passion)|(?!data))(.*?)[\"\'](.*?))>/i
    mais cela ne fonctionne pas

    si quelqu'un a une idée ,
    merci

  2. #2
    Membre averti
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Décembre 2009
    Messages : 41
    Par défaut
    Je ne sais pas si ça va pouvoir t'aider, mais j'avais fait des test avec ce genre d'élément et mon regex ne fonctionnait pas à cause de la chaine de caractère trop importante, du coup j'ai du passer par du strpos + substr + str_replace.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 6
    Par défaut
    bonjour
    merci,
    pareil j'ai fait des tests toute l'après midi et il semble que se ne soit pas le top pour les exclusions

    les (?! interférences trop sur le traitement donc cela devient vite trop compliqué avec des résultats très loin de ce que l'on cherche

    J'ai donc contourné le problème

    encore merci

Discussions similaires

  1. Regex pour une url encodée avec URLEncoder
    Par stc074 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 25/04/2014, 18h38
  2. RegEx pour lire une string avec des lignes
    Par Bacube dans le forum VB.NET
    Réponses: 3
    Dernier message: 16/05/2012, 16h20
  3. REGEX avec exclusion des balises HTML
    Par Tchupacabra dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/10/2008, 09h21
  4. Probleme avec regex pour une soustraction de charactére
    Par Sioul88 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 05/06/2008, 14h45
  5. [RegEx] Regex pour créer un timestamp avec mktime
    Par Viper13 dans le forum Langage
    Réponses: 3
    Dernier message: 16/08/2007, 20h58

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