Forum und email

sscanf

(PHP 4 >= 4.0.1, PHP 5)

sscanf — Überträgt einen String in ein angegebenes Format

Beschreibung

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

Die Funktion sscanf() ist die Eingabe analog zu printf(). sscanf() liest den String str und interpretiert ihn entsprechend dem angegebenen Parameter format , der in der Dokumentation zu sprintf() näher beschrieben ist. Werden nur 2 Parameter an die Funktion übergeben, werden die analysierten Werte als Array zurückgegeben. Andernfalls, wenn optionale Parameter beachtet wurden, gibt die Funktion die Anzahl der ermittelten Werte zurück. Die optionalen Parameter müssen referenziert übergeben werden.

Beliebige Whitespaces im Formatstring entsprechen beliebigen Whitespaces im Inputstring. Das heißt, dass auch ein Tabulator \t im Formatstring einem einzelnen Leerzeichen des Inputstrings entsprechen kann.

Example#1 sscanf()-Beispiel:

<?php
// Ermittlung der Serien-Nr.
$serial sscanf("SN/2350001","SN/%d");
// und des Herstellungsdatums
$mandate "Januar 01 2000";
list(
$monat$tag$jahr) = sscanf($mandate,"%s %d %d");
echo 
"Das Teil $serial wurde hergestellt am: "
     
"$jahr-" substr($monat03) . "-$tag\n";
?>
Werden optionale Parameter übergeben, gibt die Funktion die Anzahl der ermittelten Werte zurück.

Example#2 sscanf() - Gebrauch optionaler Parameter

<?php
// Ermittlung der Autoren-Info und Erzeugung eines DocBook-Eintrages
$auth "24\tLewis Carroll";
$n sscanf($auth,"%d\t%s %s", &$id, &$first, &$last);
echo 
"<author id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n"
;
?>

Siehe auch fscanf(), printf() und sprintf().