(PHP 5 >= 5.2.0)
This iterator can be used to filter another iterator based on a regular expression.
$iterator
, string $regex
[, int $mode
= self::MATCH
[, int $flags
= 0
[, int $preg_flags
= 0
]]] )RegexIterator::ALL_MATCHES
Return all matches for the current entry (see preg_match_all()).
RegexIterator::GET_MATCH
Return the first match for the current entry (see preg_match()).
RegexIterator::MATCH
Only execute match (filter) for the current entry (see preg_match()).
RegexIterator::REPLACE
Replace the current entry (see preg_replace(); Not fully implemented yet)
RegexIterator::SPLIT
Returns the split values for the current entry (see preg_split()).
RegexIterator::USE_KEY
Special flag: Match the entry key instead of the entry value.
jinmoku at hotmail dot com (2010-12-10 12:28:18)
An exemple :
<?php
$a = new ArrayIterator(array('test1', 'test2', 'test3'));
$i = new RegexIterator($a, '/^(test)(\d+)/', RegexIterator::REPLACE);
$i->replacement = '$2:$1';
print_r(iterator_to_array($i));
/*
Array
(
[0] => 1:test
[1] => 2:test
[2] => 3:test
)
*/
?>