(PHP 4, PHP 5, PHP 7)
strcspn — Ermittelt die Anzahl der nicht übereinstimmenden Zeichen
$subject
, string $mask
[, int $start
[, int $length
]] ) : int
Gibt die Länge von subject
zurück, bis zu der
kein Zeichen aus mask
vorkommt.
Wenn die Parameter start
und length
ausgelassen werden, dann wird das gesamte subject
untersucht.
Werden sie angegeben, dann ist es gleichwertig zum Aufruf von
strcspn(substr($subject, $start, $length), $mask)
(siehe substr für weitere Informationen).
subject
Die zu untersuchende Zeichenkette.
mask
Die Zeichenkette, die jedes nicht erlaubte Zeichen enthält.
start
Die Position in subject
, an der die Suche beginnt.
Wird start
angegeben und es nicht negativ ist, dann
beginnt strcspn() das subject
an der start
Position zu untersuchen.
Beispielsweise ist in der Zeichenkette 'abcdef' das
Zeichen an Position 0 ein 'a', das
Zeichen an Position 2 ein 'c', usw.
Wird start
angegeben und es negativ ist, dann
beginnt strcspn() das subject
an
der start
Position vom Ende von
subject
zu untersuchen.
length
Die Länge des Segments von subject
, das untersucht
werden soll.
Wird length
angegeben und es nicht negativ ist,
dann wird subject
für
length
Zeichen nach der Anfangsposition
untersucht.
Wird length
angegeben und es negativ ist, dann
wird subject
von der Anfangsposition bis zu
length
Zeichen vom Ende von
subject
untersucht.
Gibt die Länge des Anfangssegments von subject
zurück,
das ausschließlich aus Zeichen besteht, die nicht in
mask
vorkommen.
Hinweis:
Wird der
start
Parameter angegeben, dann zählt die zurückgegebene Länge von dieser Position, nicht vom Anfang vonsubject
.
Beispiel #1 strcspn() Beispiel
<?php
$a = strcspn('abcd', 'apple');
$b = strcspn('abcd', 'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');
$e = strcspn('abcdhelloabcd', 'abcd', -9);
$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
int(0) int(0) int(2) int(2) int(5) int(4)
Hinweis: Diese Funktion ist binary safe.