English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основной Учебник

PHP Уровеньный Учебник

PHP & MySQL

PHP Референс Мануал

Пример использования функции PHP preg_split() и примеры.

PHP регулярные выражения (PCRE)

Функция preg_replace разделяет строку с помощью регулярного выражения.

Синтаксис

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

Разделяет заданную строку с помощью регулярного выражения.

Описание параметров:

  • $pattern: Модель для поиска, строковый формат.

  • $subject: Входная строка.

  • $limit: Доступно по умолчанию, если указан, ограничивает количество полученных подстрок до limit. Последняя подстрока будет содержать все оставшееся. Значение limit равное -1, 0 или null означает "не ограничивать", в качестве стандарта PHP, вы можете использовать null для пропуска установки flags.

  • $flags: Доступно по умолчанию, может быть любым сочетанием из нижеперечисленных маркеров (с комбинированием по битам |):

    • PREG_SPLIT_NO_EMPTY: Если этот флаг установлен, preg_split() будет возвращать разделенные ненулевые части.
    • PREG_SPLIT_DELIM_CAPTURE: Если этот флаг установлен, выражение в скобках в шаблоне будет捕获 и возвращено.
    • PREG_SPLIT_OFFSET_CAPTURE: Если этот флаг установлен, для каждого出现的 совпадения будет добавлен строковый смещение. Замечание: это изменит каждый элемент в возвращаемом массиве, сделав каждый элемент массивом, состоящим из 0-го элемента разделенного подстроки и 1-го элемента смещения этой подстроки в subject.

Возвратное значение

Возвращает массив подстрок, полученных из subject, разделенных шаблоном.

Онлайн пример

<?php
//Использовать запятую или пробел (включая " ", \r, \t, \n, \f) для разделения фраз
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($keywords);
?>

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

Массив
(
    [0] => hypertext
    [1] => language
    [2] => programming
)
<?php
$str = 'w3codebox';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

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

Массив
(
    [0] => r
    [1] => u
    [2] => n
    [3] => o
    [4] => o
    [5] => b
)
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

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

Массив
(
    [0] => Массив
        (
            [0] => hypertext
            [1] => 0
        )
    [1] => Массив
        (
            [0] => language
            [1] => 10
        )
    [2] => Массив
        (
            [0] => programming
            [1] => 19
        )
)

PHP регулярные выражения (PCRE)