[PHP] une Erreur Bizare
NATHALIE
-
elghafoud -
elghafoud -
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...;-)
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 -