(PHP 5 >= 5.2.0, PHP 7, PHP 8)
RegexIterator::__construct — Конструктор класса RegexIterator
$iterator
,$pattern
,$mode
= RegexIterator::MATCH,$flags
= 0,$pregFlags
= 0Создаёт новый объект класса RegexIterator, который фильтрует элементы итератора Iterator основываясь на регулярном выражении.
iterator
Итератор, к элементам которого требуется применить фильтр.
pattern
Регулярное выражение, на основе которого проводится отбор элементов.
mode
Режим работы. Список возможных режимов можно посмотреть в описании к методу RegexIterator::setMode().
flags
Специальные флаги. Список возможных флагов приведён в описании к методу RegexIterator::setFlags().
pregFlags
Флаги регулярного выражения. Список возможных флагов зависит от режима работы:
режим работы | доступные флаги |
---|---|
RegexIterator::ALL_MATCHES | Смотрите preg_match_all(). |
RegexIterator::GET_MATCH | Смотрите preg_match(). |
RegexIterator::MATCH | Смотрите preg_match(). |
RegexIterator::REPLACE | нет |
RegexIterator::SPLIT | Смотрите preg_split(). |
Выбрасывает исключение InvalidArgumentException, если pattern
задан некорректно.
Пример #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