(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.
iteratorO iterador recursivo ao qual este filtro de regex será aplicado.
patternA expressão regular a ser correspondida.
modeModo de operação, consulte RegexIterator::setMode() para uma lista de modos.
flagsOpções especiais, consulte RegexIterator::setFlags() para uma lista de opções disponíveis.
pregFlagsAs 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