preg_split
(PHP 4, PHP 5, PHP 7, PHP 8)
preg_split — Розбиває рядок за регулярним виразом
Опис
preg_split( string $pattern, string $subject, int $limit = -1, int $flags = 0): array|false
Розбиває рядок за регулярним виразом.
Список параметрів
pattern
Рядок містить шаблон пошуку.
subject
Вхідний рядок.
limit
Якщо вказано, функція повертає не більше ніж limit
підрядок. Решту рядка буде повернуто в останній підрядці. Спеціальне значення limit
, рівне -1 або 0, має на увазі відсутність обмеження.
flags
flags
може бути будь-якою комбінацією наступних прапорів (об'єднаних за допомогою побітового оператора ):
PREG_SPLIT_NO_EMPTY
Якщо вказано цей прапор, функція preg_split() поверне лише непусті підрядки.
PREG_SPLIT_DELIM_CAPTURE
Якщо вказано цей прапор, вираз, укладений у круглі дужки в шаблоні, що розділяє, також витягується з заданого рядка і повертається функцією.
PREG_SPLIT_OFFSET_CAPTURE
Якщо зазначений цей прапор, для кожного знайденого підрядка буде вказано її позицію у вихідному рядку. Необхідно пам'ятати, що цей прапор змінює формат масиву, що повертається: кожен елемент міститиме масив, що містить в індексі з номером знайдений підрядок, а зміщення цього підрядка у параметрі subject
- в индексе
Значення, що повертаються
Повертає масив, що складається з підрядків заданого рядка subject
, яка розбита за межами, що відповідають шаблону pattern
или**false
**в случае возникновения ошибки.
Помилки
Якщо переданий шаблон регулярного виразу не компілюється в допустимий регулярний вираз, видається помилка рівня E_WARNING
Приклади
Приклад #1preg_split()Приклад: Получение подстрок из заданного текста
Loading...
Результат виконання наведеного прикладу:
Array
(
[0] => hypertext
[1] => language
[2] => programming
)
Приклад #2 Розбиваємо рядок на складові символи
Loading...
Результат виконання наведеного прикладу:
Array
(
[0] => s
[1] => t
[2] => r
[3] => i
[4] => n
[5] => g
)
Приклад #3 Розбиваємо рядок із зазначенням усунення для кожного зі знайдених підрядків
Loading...
Результат виконання наведеного прикладу:
Array
(
[0] => Array
(
[0] => hypertext
[1] => 0
)
[1] => Array
(
[0] => language
[1] => 10
)
[2] => Array
(
[0] => programming
[1] => 19
)
)
Примітки
Підказка
Якщо вам не потрібна потужність регулярних виразів, ви можете вибрати швидші (хоч і прості) альтернативи на кшталт explode() або str_split()
Підказка
Якщо відповідностей не знайшлося, то повертається масив з єдиним елементом рівним усьому рядку.
Дивіться також
- " Регулярні вирази PCRE "
- preg_quote() - Екранує символи у регулярних виразах
- implode() - Об'єднує елементи масиву в рядок
- preg_match() - Виконує перевірку на відповідність регулярному виразу
- preg_match_all() - Виконує глобальний пошук шаблону у рядку
- preg_replace() - Виконує пошук та заміну за регулярним виразом
- preg_last_error() - Повертає код помилки виконання останнього регулярного вираження PCRE