Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2011, 14h19   #1
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
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 :
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 :
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
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h14   #2
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
http://php.net/manual/fr/function.pr...e-callback.php

Citation:
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.
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 15h24   #3
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Code :
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);
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 16h31   #4
Membre habitué
 
Inscription : septembre 2004
Messages : 244
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 244
Points : 110
Points : 110
Citation:
Envoyé par Shikiryu Voir le message
Code :
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 !!!!
omelhor est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h18.


 
 
 
 
Partenaires

Hébergement Web