RegexIterator::__construct
(PHP 5 >= 5.2.0, PHP 7)
RegexIterator::__construct — Конструктор класса RegexIterator
Описание
$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() - Разбивает строку по регулярному выражению