(PHP 4, PHP 5, PHP 7)
strspn — Возвращает длину участка в начале строки, полностью соответствующего маске
$subject
, string $mask
[, int $start
[, int $length
]] )
Возвращает длину участка от начала строки subject
,
содержащий только символы из mask
.
Если параметры start
и length
не указаны, то будет исследована вся строка subject
.
Если они указаны, то эффект будет аналогичен вызову
strspn(substr($subject, $start, $length) $mask)
(подробнее см. функцию substr).
Строка кода:
<?php
$var = strspn("42 is the answer to the 128th question.", "1234567890");
?>
subject
,
состоящий только из символов "1234567890".
subject
Исследуемая строка.
mask
Список из разрешенных символов.
start
Позиция начала поиска в subject
.
Если start
указан и неотрицателен,
то strspn() начнет искать в строке
subject
начиная с позиции
start
. К примеру, в
строке 'abcdef', символом с позицией
0 является 'a', символом
с позицией 2 является
'c' и т.д.
Если start
указан и отрицателен,
то strspn() начнет поиск
в строке subject
с позиции, отстоящей
на start
символов с конца
subject
.
length
Длина исследуемого фрагмента subject
.
Если length
указан и неотрицателен,
то строка subject
будет исследована
в течение length
после стартовой позиции.
Если length
указана и отрицательна,
то строка subject
будет исследована
начиная со стартовой позиции до позиции, отстоящей на
length
символов с конца
subject
.
Возвращает длину первого участка subject
,
состоящего целиком из символов в mask
.
Замечание:
Когда
start
указан, возращаемая длина строки определяется начиная с этой позиции, а не с начала строкиsubject
.
Пример #1 Пример использования strspn()
<?php
// subject не начинается ни из какого символа из mask
var_dump(strspn("foo", "o"));
// проверить два символа из subject начиная с позиции 1
var_dump(strspn("foo", "o", 1, 2));
// проверить один символ из subject начиная с позиции 1
var_dump(strspn("foo", "o", 1, 1));
?>
Результат выполнения данного примера:
int(0) int(2) int(1)
Замечание: Эта функция безопасна для обработки данных в двоичной форме.