(PHP 5 >= 5.2.0, PHP 7, PHP 8)
RecursiveRegexIterator::__construct — Cria um novo RecursiveRegexIterator
$iterator
,$pattern
,$mode
= RecursiveRegexIterator::MATCH,$flags
= 0,$pregFlags
= 0Cria um novo iterador de expressão regular.
iterator
O iterador recursivo ao qual este filtro de regex será aplicado.
pattern
A expressão regular a ser correspondida.
mode
Modo de operação, consulte RegexIterator::setMode() para uma lista de modos.
flags
Opções especiais, consulte RegexIterator::setFlags() para uma lista de opções disponíveis.
pregFlags
As opções de expressão regular. Essas flags dependem do parâmetro de modo de operação:
modo de operação | opções disponíveis |
---|---|
RecursiveRegexIterator::ALL_MATCHES | Veja preg_match_all(). |
RecursiveRegexIterator::GET_MATCH | Veja preg_match(). |
RecursiveRegexIterator::MATCH | Veja preg_match(). |
RecursiveRegexIterator::REPLACE | nenhum. |
RecursiveRegexIterator::SPLIT | Veja preg_split(). |
Exemplo #1 Exemplo de RecursiveRegexIterator::__construct()
Cria um novo RegexIterator que filtra todas as strings que começam com 'test'.
<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
RecursiveRegexIterator::ALL_MATCHES);
foreach ($rRegexIterator as $key1 => $value1) {
if ($rRegexIterator->hasChildren()) {
// print all children
echo "Children: ";
foreach ($rRegexIterator->getChildren() as $key => $value) {
echo $value . " ";
}
echo "\n";
} else {
echo "No children\n";
}
}
?>
O exemplo acima produzirá algo semelhante a:
No children Children: test4 test5