(PHP 4, PHP 5, PHP 7, PHP 8)
strcspn — Averiguar la longitud del segmento inicial que no coincida con una máscara
Devuelve la longitud del segmento inicial de
subject, el cual no
contiene ningún caracter de mask.
Si se omiten start y length,
se examinará subject al
completo. Si se incluyen, el efecto será el mismo que
una llamada a strcspn(substr($subject, $start, $length),
$mask) (véase substr
para más información).
subjectEl string a examinar.
maskEl string que contiene cada caracter no permitido.
start
La posición en subject donde
comenzar la búsqueda.
Si se proporciona start y no es negativo,
strcspn() comenzará a
examinar subject en
la posición start-ésima. Por ejemplo, en
el 'abcdef', el caracter en la
posición 0 es 'a', el
caracter en la posición 2 es
'c', etc.
Si se proporciona start y es negativo,
strcspn() comenzará a
examinar subject en
la start-ésima a partir del final
de subject.
length
La longitud del segmento de subject
a examinar.
Si se proporcina length y no es negativo,
subject será examinado
desde length caracteres después de la
posición inicial.
Si se proporcina length y es negativo,
subject será examinado desde la
posición inicial hasta length
caracteres a partir del final de subject.
Devuelve la longitud del segmento inicial de subject,
el cual consiste en todos los caracteres no presentes en mask.
Nota:
Cuando se establece el parámetro
start, la longitud devuelta se cuenta a partir de esta posición, no desde el comienzo desubject.
Ejemplo #1 Ejemplo de strcspn()
<?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);
?>El resultado del ejemplo sería:
int(0) int(0) int(2) int(2) int(5) int(4)
Nota: Esta función es segura binariamente.