• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • RecursiveRegexIterator::__construct()

    (PHP 5 >= 5.2.0, PHP 7)

    Creates a new RecursiveRegexIterator

    说明

    publicRecursiveRegexIterator::__construct(RecursiveIterator$iterator, string $regex[,int $mode= self::MATCH[,int $flags= 0[,int $preg_flags= 0]]])

    Creates a new regular expression iterator.

    参数

    $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:

    RegexIterator preg_flags
    operation modeavailable 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().

    范例

    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";
        }
    }
    ?>
    

    以上例程的输出类似于:

    No children
    Children: test4 test5
    

    参见

    RecursiveRegexIterator::ALL_MATCHES List all subdirectories and files.
    <?php
    $a = new RecursiveRegexIterator( new RecursiveDirectoryIterator(
    '/home/songoq' ), '/mydir/i', RecursiveRegexIterator::ALL_MATCHES );
    foreach( new RecursiveIteratorIterator( $a ) as $s )
    {
        echo $s."\n";
    }