(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. string
Die zu untersuchende Zeichenkette.
characters
Die 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
offset
angegeben, 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.