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 :

capture expression reguliere dans un fichier


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut capture expression reguliere dans un fichier
    Bonjour,

    J'essaye d'extraire une chaîne de caractère pour ensuite la faire un test dans une fonction, mais je n'arrive pas à la capturer.

    La chaîne à capturée est présente dans ce fichier test.sql
    Contenu du fichier :
    fichier test.sql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <img typeof=\"foaf:Image\" src=\"http://www.siteeeeee.fr/sites/default/files/styles/article_large/public/field/image/1434654263-23042011154248.jp
    g\" alt=\"a ddd dddeerr\" />
    Le but étant de lire le fichier, capturer l'image et testée sa taille

    Mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    $filename = "test.sql"; //votre fichier texte
    $file = fopen($filename, "r");
    $txt = fread($file, filesize($filename));
    fclose($file);
     
    function testImage($value)
    {
      echo $value;
          $url = stripcslashes($value['url']);
    	$sizes = getimagesize($url);
        echo $sizes;
        if($sizes[0] > 600)
        {
            return '';
        }
        return $value[0];
    }
     
    $txt= preg_replace_callback('/<img[^>]*src=\"(?P<url>.*?)\"[^>]*>/i', 'testImage', $txt);
    ?>
    Mais le "echo $value;" dans ma fonction "testImage" ne me renvoie rien, donc c'est que n'arrive pas a capturer l'image. Pouvez-vous m'aider svp ?

    Merci beaucoup

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    http://php.net/manual/fr/function.pr...e-callback.php

    La fonction de rappel qui recevra le tableau d'éléments trouvés dans la chaîne subject. La fonction de rappel doit retourner la chaîne de remplacement.
    $value étant donc un tableau, "echo $value" ne donnera rien. Il faudrait utiliser var_dump à la rigueur.

  3. #3
    Membre éclairé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Points : 735
    Points
    735
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $filename = "test.sql"; //votre fichier texte
    $file = file_get_contents($filename);
     
    function testImage($value)
    {
        var_dump($value);
        $url = stripcslashes($value[1]);
        $sizes = getimagesize($url);
        var_dump($sizes);
        if($sizes[0] > 600)
        {
            return '';
        }
        return $value[0];
    }
     
    $txt= preg_replace_callback('/<img[^>]*src=\"(.*?)\"[^>]*>/i', 'testImage', $txt);

  4. #4
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Citation Envoyé par Shikiryu Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $filename = "test.sql"; //votre fichier texte
    $file = file_get_contents($filename);
     
    function testImage($value)
    {
        var_dump($value);
        $url = stripcslashes($value[1]);
        $sizes = getimagesize($url);
        var_dump($sizes);
        if($sizes[0] > 600)
        {
            return '';
        }
        return $value[0];
    }
     
    $txt= preg_replace_callback('/<img[^>]*src=\"(.*?)\"[^>]*>/i', 'testImage', $txt);
    merci !!!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/05/2009, 12h17
  2. [expression reguliere dans matches()]
    Par jayjaypg22 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 23/11/2007, 16h08
  3. Expressions regulieres dans condition
    Par Matmal11 dans le forum Linux
    Réponses: 4
    Dernier message: 23/02/2007, 14h05
  4. Expression reguliere dans fichier texte
    Par azmimik dans le forum Général Python
    Réponses: 6
    Dernier message: 02/01/2007, 23h48
  5. expression reguliere dans schema
    Par lafracas dans le forum Valider
    Réponses: 2
    Dernier message: 14/05/2006, 19h54

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