sscanf

(PHP 4 >= 4.0.1)

sscanf --  Analyse une chaîne à l'aide d'un format

Description

mixed sscanf ( string str, string format [, string var1])

sscanf() est l'inverse de la fonction printf(). sscanf() lit des données dans la chaîne str, et l'interprète en fonction du format format. Si seuls deux paramètres sont fournis, les valeurs trouvées seront retournées sous forme de tableau. Sinon, les valeurs seront placées dans les arguments var1.

Tous les caractères blancs dans la chaîne format correspondent à un caractère blanc dans la chaîne str. Cela signifie que même une tabulation dans la chaîne de format peut correspondre à un simple espace dans la chaîne str.

Exemple 1. Exemple avec sscanf()

<?php
// Lecture d'un num&eacute;ro de s&eacute;rie
  
$serial = sscanf("SN/2350001","SN/%d");
// et la date de fabrication
  
$mandate = "January 01 2000";
  list(
$month, $day, $year) = sscanf($mandate,"%s %d %d");
  echo
"Le produit $serial a &eacute;t&eacute; fabriqu&eacute; le : $year-".substr($month,0,3)."-$day\n";
?>
Si des paramètres optionnels sont passés, sscanf() retournera le nombre de valeurs assignées. Les paramètres optionnels doivent être passés par référence.

Exemple 2. Exemple avec sscanf() : utilisation des paramètres optionnels

<?php
// lit les informations d'auteur, et g&eacute;n&egrave;re une entr&eacute;e DocBook
  
$auth = "24    Lewis Carroll";
  
$n = sscanf($auth,"%d    %s %s", &$id, &$first, &$last);
  echo
"<author id="$id">
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>
\n";
?>

Voir aussi fscanf(), printf() et sprintf().