(PHP 4, PHP 5, PHP 7)
strcspn — Averiguar la longitud del segmento inicial que no coincida con una máscara
$subject
   , string $mask
   [, int $start
   [, int $length
  ]] ) : int
   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.