RecursiveRegexIterator::__construct
(PHP 5 >= 5.2.0, PHP 7)
RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator.
Description
public RecursiveRegexIterator::__construct ( RecursiveIterator $iterator
, string $regex
[, int $mode
= self::MATCH [, int $flags
= 0 , int $preg_flags
= 0 ]] )
Creates a new regular expression iterator.
Parameters
iterator
The recursive iterator to apply this regex filter to.
regex
The regular expression to match.
mode
Operation mode, see RegexIterator::setMode() for a list of modes.
flags
Special flags, see RegexIterator::setFlags() for a list of available flags.
preg_flags
The regular expression flags. These flags depend on the operation mode parameter:
operation mode | available flags |
---|---|
RecursiveRegexIterator::ALL_MATCHES | See preg_match_all(). |
RecursiveRegexIterator::GET_MATCH | See preg_match(). |
RecursiveRegexIterator::MATCH | See preg_match(). |
RecursiveRegexIterator::REPLACE | none. |
RecursiveRegexIterator::SPLIT | See preg_split(). |
Examples
Example #1 RecursiveRegexIterator::__construct() example
Creates a new RegexIterator that filters all strings that start with '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";
????}
}
?>
The above example will output something similar to:
No children
Children: test4 test5
See Also
- preg_match() - Perform a regular expression match
- preg_match_all() - Perform a global regular expression match
- preg_replace() - Perform a regular expression search and replace
- preg_split() - Split string by a regular expression
← RecursiveRegexIterator
RecursiveRegexIterator::getChildren →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com