(PHP 4, PHP 5, PHP 7)
strspn — Averigua la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada
$subject
, string $mask
[, int $start
[, int $length
]] ) : int
Encuentra la longitud del segmento inicial de subject
que contiene solamente caracteres de mask
.
Si start
y length
son omitidos, entonces la totalidad de subject
será
examinada. Si son incluidos, entonces el efecto será el mismo que
llamando strspn(substr($subject, $start, $length),
$mask) (ver substr
para más información).
La línea de código:
<?php
$var = strspn("42 is the answer to the 128th question.", "1234567890");
?>
subject
que consiste solamente en caracteres
contenidos dentro de "1234567890".
subject
El string a examinar.
mask
La lista de caracteres permitidos.
start
La posición en subject
donde
iniciar la búsqueda.
Si start
es dado y no es negativo,
entonces strspn() comenzará a
examinar a subject
en
la posición start
ésima. Por ejemplo, en
el string 'abcdef', el caracter en la
posición 0 es 'a', el
caracter en la posición 2 es
'c' y así sucesivamente.
Si start
es dado y es negativo,
entonces strspn() comenzará a
examinar subject
desde
la start
ésima posición desde el final
de subject
.
length
La longitud del segmento de subject
a examinar.
Si se proporciona length
y no es negativo,
entonces subject
será examinado
por el número length
de caracteres después de la posición
de inicio.
Si se proporciona length
y es negativo,
entonces subject
sera examinado desde
la posición de inicio hasta el número length
de caracteres
desde el final de subject
.
Devuelve la longitud del segmento inicial de subject
el cual enteramente consiste en caracteres 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 strspn()
<?php
// subject no inicia con ningún caracter de mask
var_dump(strspn("foo", "o"));
// examina dos caracteres de subject iniciando en el offset 1
var_dump(strspn("foo", "o", 1, 2));
// examina un caracter de subject iniciando en el offset 1
var_dump(strspn("foo", "o", 1, 1));
?>
El resultado del ejemplo sería:
int(0) int(2) int(1)
Nota: Esta función es segura binariamente.