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