RegexIterator::__construct

(PHP 5 >= 5.2.0, PHP 7)

RegexIterator::__constructКонструктор класса RegexIterator

Описание

public RegexIterator::__construct ( Iterator $iterator , string $regex , int $mode = self::MATCH , int $flags = 0 , int $preg_flags = 0 )

Создает новый объект класса RegexIterator, который фильтрует элементы итератора Iterator основываясь на регулярном выражении.

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

iterator

Итератор, к элементам которого требуется применить фильтр.

regex

Регулярное выражение, на основе которого проводится отбор элементов.

mode

Режим работы. Список возможных режимов можно посмотреть в описании к методу RegexIterator::setMode().

flags

Специальные флаги. Список возможных флагов приведен в описании к методу RegexIterator::setFlags().

preg_flags

Флаги регулярного выражения. Список возможных флагов зависит от режима работы:

RegexIterator preg_flags
режим работы доступные флаги
RegexIterator::ALL_MATCHES Смотрите preg_match_all().
RegexIterator::GET_MATCH Смотрите preg_match().
RegexIterator::MATCH Смотрите preg_match().
RegexIterator::REPLACE нет
RegexIterator::SPLIT Смотрите preg_split().

Ошибки

Выбрасывает исключение InvalidArgumentException, если regex задан некорректно.

Примеры

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

Создает новый объект RegexIterator, который отбирает строки, начинающиеся со слова 'test'.

<?php
$arrayIterator 
= new ArrayIterator(array('test 1''another test''test 123'));
$regexIterator = new RegexIterator($arrayIterator'/^test/');

foreach (
$regexIterator as $value) {
    echo 
$value "\n";
}
?>

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

test 1
test 123

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

  • preg_match() - Выполняет проверку на соответствие регулярному выражению
  • preg_match_all() - Выполняет глобальный поиск шаблона в строке
  • preg_replace() - Выполняет поиск и замену по регулярному выражению
  • preg_split() - Разбивает строку по регулярному выражению