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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    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 émérite

    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
    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 émérite

    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
    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 éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    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