strspn

(PHP 4, PHP 5, PHP 7)

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

Описание

strspn ( string $string , string $characters , int $offset = 0 , int|null $length = null ) : int

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

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

Строка кода:

<?php
$var 
strspn("42 - ответ на 128 вопрос.""1234567890");
?>
присвоит 2 переменной $var, так как "42" - это начальный участок строки string, состоящий только из символов "1234567890".

Список параметров

string

Исследуемая строка.

characters

Список из разрешенных символов.

offset

Позиция начала поиска в subject.

Если offset указан и неотрицателен, то strspn() начнет искать в строке string, начиная с позиции offset. К примеру, в строке 'abcdef', символом с позицией 0 является 'a', символом с позицией 2 является 'c' и т.д.

Если offset указан и отрицателен, то strspn() начнет поиск в строке string с позиции, отстоящей на offset символов с конца string.

length

Длина исследуемого фрагмента string.

Если length указан и неотрицателен, то строка string будет исследована в течение length после стартовой позиции.

Если length указан и отрицателен, то строка string будет исследована начиная со стартовой позиции до позиции, отстоящей на length символов с конца string.

Возвращаемые значения

Возвращает длину первого участка string, состоящего целиком из символов в characters.

Замечание:

Когда offset указан, возращаемая длина строки определяется, начиная с этой позиции, а не с начала строки string.

Список изменений

Версия Описание
8.0.0 length теперь допускает значение null.

Примеры

Пример #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() - Возвращает длину участка в начале строки, не соответствующего маске