(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)
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.