strspn

(PHP 4, PHP 5, PHP 7)

strspn Возвращает длину участка в начале строки, полностью соответствующего маске

Описание

strspn ( string $subject , string $mask [, int $start [, int $length ]] ) : int

Возвращает длину участка от начала строки subject, содержащий только символы из mask.

Если параметры start и length не указаны, то будет исследована вся строка subject. Если они указаны, то эффект будет аналогичен вызову strspn(substr($subject, $start, $length), $mask) (подробнее см. функцию substr).

Строка кода:

<?php
$var 
strspn("42 - ответ на 128 вопрос.""1234567890");
?>
присвоит 2 переменной $var, так как "42" - это начальный участок строки 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"12));

// проверить один символ из subject, начиная с позиции 1
var_dump(strspn("foo""o"11));
?>

Результат выполнения данного примера:

int(0)
int(2)
int(1)

Примечания

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Смотрите также

  • strcspn() - Возвращает длину участка в начале строки, не соответствующего маске