Функция PHP sscanf

mixed sscanf ( string str, string format [, mixed & ...] )

Функция sscanf похожа на функцию printf, но используется не для вывода, а для ввода данных. sscanf интерпретирует строку str в соответствии с форматом format. Если переданы только эти два аргумента, будет возвращен массив. В противном случае, считанные из строки значения будкт присвоены переменным, переданным через дополнительные аргументы, и будет возвращено количество присвоенных значений. Дополнительные аргументы должны передаваться по ссылке.

Любые пробельные символы в строке формата соответствуют любым пробельным символам во входной строке. Это значит, что например символ табуляци в строке формата соответствует символу пробела во входной строке.

Пример использования sscanf:

<?php
   // получаем серийный номер
   list($serial) = sscanf("SN/2350001", "SN/%d");
   // и дату изготовления
   $mandate = "Январь 01 2000";
   list($month, $day, $year) = sscanf($mandate, "%s %d %d");
   echo "Узел $serial был изготовлен: $year-" . substr($month, 0, 3) . "-$day ";
?>

Если переданы необязательные аргументы, значения будут присвоены им, а возвращено будет количество присвоенных значений.

sscanf() - использование необязательных аргументо:

<?php
   // получить имя автора и сформировать запись в формате 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> ";
?>

См. также описание функций fscanf, printf и sprintf.