ConFoo 2025

grapheme_substr

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_substrВозвращает часть строки

Описание

Процедурный стиль

grapheme_substr(string $string, int $offset, ?int $length = null): string|false

Возвращает часть строки.

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

string

Входная строка. Должна быть корректным UTF-8.

offset

Начальная позиция в единицах графемы по умолчанию. Если offset больше, либо равна нулю, возвращаемая строка будет начинаться с позиции offset в $string, начиная с нуля. Если значение offset отрицательное, возвращаемая строка будет начинаться с единицы графемы offset от конца строки.

length

Длина в графемных единицах. Если задано положительное значение length, возвращаемая строка будет содержать не более length единиц графемы, начиная со значения offset (в зависимости от длины строки). Если задано отрицательное значение length, то такое количество единиц графемы будет опущено в конце строки (после того, как начальная позиция была вычислена, если параметр offset отрицательный). Если offset обозначает позицию за пределами этого усечения, будет возвращена пустая строка.

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

Возвращает извлечённую часть string или false, если возникла ошибка.

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

Версия Описание
8.0.0 Функция теперь последовательно прижимает выходящие за границы смещения к границе строки. Ранее в некоторых случаях вместо пустой строки возвращалось значение false.

Примеры

Пример #1 Пример использования grapheme_substr()

<?php

$char_a_ring_nfd
= "a\xCC\x8A"; // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"

print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>

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

a%CC%8Abco%CC%88

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

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top