(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