(PHP 4, PHP 5, PHP 7)
strcspn — Возвращает длину участка в начале строки, не соответствующего маске
Описание
int strcspn ( string $subject , string $mask [, int $start [, int $length ]] )
Возвращает длину участка в начале строки subject, который не содержит ни одного символа из строки mask.
Если параметры start и length не указаны, то все содержимое subject будет обследовано. Если же эти параметры указаны, то эффект будет таким же как при вызове strcspn(substr($subject, $start, $length), $mask) (см. substr для дополнительной информации).
Список параметров
subject-
Строка для обследования.
mask-
Строка, содержащая каждый из запрещенных символов.
start-
Позиция в строке
subjectс которой начинается поиск.Если
startуказан и не является отрицательным значением, тогда strcspn() начнет обследование строкиsubjectс позиции, указанной вstart. Например: в строке ‘abcdef‘, символ в позиции 0 это ‘a‘, символ в позиции 2 это ‘c‘, и так далее.Если
startуказан, но является отрицательным числом, то strspn() начнет обследование строкиsubjectс позиции, указанной в параметреstart, начиная с конца строкиsubject. length-
Длина фрагмента из
subjectдля обследования.Если параметр
lengthуказан и не является отрицательным значением, тогда будет обследованоlengthсимволов изsubject, отсчитывая от стартовой позиции.Если
lengthпередан и значение отрицательное, то будут обследованы символы изsubject, начиная со стартовой позиции и заканчивая наlengthсимволе до конца строки.
Возвращаемые значения
Возвращает длину начального фрагмента строки subject, которая состоит полностью из символов не включенных в параметр mask.
Замечание:
Когда параметр
startуказан, возвращаемая длина определяется, начиная с этой позиции, а не с начала строкиsubject.
Примеры
Пример #1 Пример использования 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);
?>
Результат выполнения данного примера:
int(0) int(0) int(2) int(2) int(5) int(4)
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.

