(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::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