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 :

preg_replace fonctionne a moitié [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2016
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 128
    Points : 296
    Points
    296
    Par défaut preg_replace fonctionne a moitié
    Bonjour,
    j'utilise une fonction pour retirer tout ce qui se trouve dans <img sauf Src=, mais alt="" quand est vide il n'est pas supprimer et aussi srcset il est bien supprimé mais pas ce qu'il y a à l’intérieur ou plutôt il ne supprimait que 4 caractères, je sais pas ou est mon erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $srt = '<table>
    <tbody>
    <tr>
    <td><img class="aligncenter wp-image-4359 size-full" src="http://www.unesourisetmoi.info/data/medias/0240/fond-ecran-tablette.jpg" alt="" width="534" height="420" srcset="http://www.unesourisetmoi.info/data/medias/0240/fond-ecran-tablette.jpg 534w, http://www.unesourisetmoi.info/data/medias/photos/240/changer-fond-ecran-tablette_2.jpg 300w" sizes="(max-width: 534px) 100vw, 534px" /></td>
    <td>
    <p><figure id="attachment_4350" style="max-width: 389px" class="wp-caption aligncenter"><img class="wp-image-4350 size-full" src="http://www.unesourisetmoi.info/data/medias/photos/240/changer-fond-ecran-tablette_1.jpg" alt="" width="389" height="276" srcset="http://www.unesourisetmoi.info/data/medias/photos/240/changer-fond-ecran-tablette_1.jpg 389w, http://www.unesourisetmoi.info/data/medias/photos/240/changer-fond-ecran-tablette_3.jpg 300w" sizes="(max-width: 389px) 100vw, 389px" /><figcaption class="wp-caption-text">Aperçu sur </figcaption></figure></td>
    </tr>
    </tbody>
    </table>';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo  sky_cleanup_attributes($srt);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function sky_cleanup_attributes($source)
    {
        $remove = array('srcset', 'style', 'class', 'alt', 'style', 'itemprop', 'width', 'height', 'sizes');
        $cleanstring = $source;
        foreach($remove as $attribute)
        {
            $cleanstring = preg_replace('!\s+'.$attribute.'=("|\')?[-_():;a-z0-9 ]+("|\')?!i','',$cleanstring);
        }
        return $cleanstring;
    }
    merci a tous

  2. #2
    Membre actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2016
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2016
    Messages : 128
    Points : 296
    Points
    296
    Par défaut
    Problème résolut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function sky_cleanup_attributes($source)
    {
        $remove = array('srcset', 'style', 'class', 'alt', 'style', 'itemprop', 'width', 'height', 'sizes');
        $cleanstring = $source;
        foreach($remove as $attribute)
        {
            $cleanstring = preg_replace('!\s+'.$attribute.'=("|\')?[-_():;a-z0-9 /.*,]+("|\')?!i','',$cleanstring);
    		$cleanstring = (str_replace($attribute.'=""','',$cleanstring));
        }
        return $cleanstring;
    }

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/05/2009, 16h00
  2. Ma requête ne fonctionne qu'à moitié ! :/
    Par Cvbdev dans le forum Accès aux données
    Réponses: 8
    Dernier message: 19/12/2008, 12h47
  3. [RegEx] Testeur de regex qui ne fonctionne qu'à moitié
    Par charles_coiffier dans le forum Langage
    Réponses: 1
    Dernier message: 10/09/2008, 20h46
  4. [Conception] INSERT fonctionne a moitié, UPDATE Fonctionne, comprends pas?
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 06/09/2006, 17h22
  5. gestionnaire fonctionnant à moitié
    Par Pallas4 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 02/05/2006, 18h23

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