(PHP 4, PHP 5, PHP 7, PHP 8)
strspn — Ermittelt die Länge des initialen Abschnitts einer Zeichenkette, der ausschließlich aus Zeichen besteht, die in einer übergebenen Maske enthalten sind
Ermittelt die Länge des initialen Abschnitts von
string, derausschließlich
Zeichen aus characters enthält.
Wenn offset und length
weggelassen werden, werden alle Zeichen von string
untersucht. Wenn sie enthalten sind, ist das Ergebnis das Gleiche, wie der
Aufruf strspn(substr($string, $offset, $length),
$characters) (siehe substr für weitere
Informationen).
Die Zeile
<?php
$var = strspn("42 ist die Antwort auf die 128. Frage.", "1234567890");
?>2 der Variable $var zu, da die
Zeichenkette "42" der initiale Abschnitt von string
ist, der ausschließlich aus Zeichen besteht, die in "1234567890" enthalten
sind.
stringDie zu untersuchende Zeichenkette.
charactersDie Menge der erlaubten Zeichen.
offset
Die Position in string, an der die Suche startet.
Wurde offset übergeben und ist nicht negativ,
beginnt strspn() die Untersuchung von
string an der Position
offset. Zum Beispiel ist in der Zeichenkette
'abcdef' das Zeichen an Position
0 'a', das Zeichen an Position
2 ist 'c' usw.
Wurde offset übergeben und ist negativ, beginnt
strspn() die Untersuchung von
string an der Position
offset vom Ende von
string aus betrachtet.
length
Die zu untersuchende Länge des Abschnitts von
string.
Wurde length übergeben und ist nicht-negativ,
werden length Zeichen
von string nach der Startposition untersucht.
Wurde length übergeben und ist negativ,
wird string von der Startposition bis zu
length Zeichen vom Ende von
string aus betrachtet untersucht.
Gibt die Länge des initialen Abschnitts von string
zurück, der vollständig aus Zeichen besteht, die in
characters angegeben sind.
Hinweis:
Wird der Parameter
offsetangegeben, dann zählt die zurückgegebene Länge von dieser Position aus, nicht vom Anfang vonstring.
| Version | Beschreibung |
|---|---|
| 8.0.0 |
length ist jetzt nullable (akzeptiert den
null-Wert).
|
Beispiel #1 strspn()-Beispiel
<?php
// Die Zeichenkette beginnt nicht mit einem der Zeichen aus der Maske
var_dump(strspn("foo", "o"));
// Untersuche zwei Zeichen aus der Zeichenkette beginnend bei Offset 1
var_dump(strspn("foo", "o", 1, 2));
// Untersuche ein Zeichen aus der Zeichenkette beginnend bei Offset 1
var_dump(strspn("foo", "o", 1, 1));
?>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
int(0) int(2) int(1)
Hinweis: Diese Funktion ist binärsicher.