[PHP] une Erreur Bizare

Fermé
NATHALIE - 27 juin 2006 à 13:47
 elghafoud - 27 juin 2006 à 17:52
Bonjour,

je essaye de récupérer une valeur du code source d'une page web,et j'ai un programme qui fait ça .
le tableau $test représente les lignes du code source et moi je veux récupérer la valeur "TOTO" et ça marche.
mais le probléme qu'on je remplace la valeur "TOTO" par une suite de caractére de 12 ou 15 ne marche pas
par exemple à la place de "TOTO" je fais "12345678910111213" le programme ne marche plus
voila le programme :---------------------------------------


$test = array('<input type="hidden" name="t1" value="toto">',
'<input type="hidden" name="t2" value="titi">',
'<input type="text" name="t3" value="tutu">',
'<input type="submit" name="t4" value="tata">'
);

foreach( $test as $val )
{
if( preg_match('`^<input type="hidden"(.+)*value="(.+)"(.+)*>$`i', $val) )
$hidden[] = preg_replace('`(.+)value="([[:alnum:]]+)"(.+)`i', '$2', $val);
}

foreach( $hidden as $val )
{
echo $val .'<br>';
}
----------------------------------------------------------------------

Merci de essayer une valeure de 15 caractére a la place de toto et vous verrez qui qu'il marche pas...;-)

2 réponses

salut!
l'erreur n'est pas bizard! voila la soulution :


$test = array('<input type="hidden" name="t1" value="12.sssssssss3">',
'<input type="hidden" name="t2" value="titi">',
'<input type="text" name="t3" value="tutu">',
'<input type="submit" name="t4" value="tata">'
);

foreach( $test as $val )
{
if( preg_match('`^<input type="hidden"(.*?)*value="(.*?)"(.*?)*>$`i', $val) ) {
echo htmlspecialchars($val)."<br>";
$hidden[] = preg_replace('/<input type="hidden" name="(.*?)" value="(.*?)">/i', '$2', $val);
}
}

foreach( $hidden as $val )
{
echo $val .'<br>';
}

bon courage
0
Merci beaucoup et trés beaucoup...
ça marche trés bien maintenant......vraiment un trés grand merci... :-)
0
mais de rien , c'est avec plaisir
0