(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.