ProfiPHPProfiPHP
Категория: Функции обработки строк

Функция Substr_count

Функция Substr_count возвращает число вхождений подстроки.
int substr_count( string $haystack, string $needle [, int $offset = 0 [, int $length ]] )
Функция Substr_count возвращает число вхождений подстроки Needle в строку Haystack. Параметр Needle чувствителен к регистру.
Функция Substr_count не подсчитывает перекрывающиеся подстроки.

В параметре Haystack указывается строка, в которой ведется поиск.

Параметр Needle являет собой искомую подстроку.

Смещение начала отсчета указывается в необязательном параметре Offset. Если задано отрицательное значение, отсчет позиции будет произведен с конца строки.

В параметре Length указывается максимальная длина строки в которой будет производится поиск подстроки после указанного смещения. Если сумма смещения и максимальной длины будет больше длины Haystack, то будет выведено предупреждение. Отрицательное значение будет отсчитываться с конца Haystack.

Функция Substr_count возвращает Integer.

Пример использования Substr_count:
$text = 'one two three four five one';
echo substr_count($text, 'one' ); // 2
// строка уменьшается до 'wo three four five one', поэтому вывод будет 1
echo substr_count($text, 'one', 5 );
// текст уменьшается до 'wo th', поэтому вывод будет 0
echo substr_count( $text, 'one', 5, 5 );
// выводит только 1, поскольку перекрывающиеся подстроки не учитываются
$text2 = 'abcbabcdabcda';
echo substr_count( $text2, 'abcba' );
Существует также функция Mb_substr_count, которая предназначена для работы с многобайтными строками:
int mb_substr_count( string $haystack, string $needle [, string $encoding = mb_internal_encoding() ] )
Параметр Encoding представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.
$text = 'один два три четыре пять один';
echo substr_count( $text, 'один' ); // 2

Добавить комментарий

Имя:
Текст комментария: