[PHP] une Erreur Bizare

NATHALIE -  
 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...;-)

2 réponses

  1. elghafoud
     
    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
    1. NATHALIE
       
      Merci beaucoup et trés beaucoup...
      ça marche trés bien maintenant......vraiment un trés grand merci... :-)
      0
  2. elghafoud
     
    mais de rien , c'est avec plaisir
    0