文字

The RegexIterator class

(PHP 5 >= 5.2.0)

简介

This iterator can be used to filter another iterator based on a regular expression.

类摘要

RegexIterator extends FilterIterator {
const integer MATCH = 0 ;
const integer GET_MATCH = 1 ;
const integer ALL_MATCHES = 2 ;
const integer SPLIT = 3 ;
const integer REPLACE = 4 ;
const integer USE_KEY = 1 ;
public __construct ( Iterator $iterator , string $regex [, int $mode = self::MATCH [, int $flags = 0 [, int $preg_flags = 0 ]]] )
public bool accept ( void )
public int getFlags ( void )
public int getMode ( void )
public int getPregFlags ( void )
public string getRegex ( void )
public void setFlags ( int $flags )
public void setMode ( int $mode )
public void setPregFlags ( int $preg_flags )
public abstract bool FilterIterator::accept ( void )
public FilterIterator::__construct ( Iterator $iterator )
public mixed FilterIterator::current ( void )
public Iterator FilterIterator::getInnerIterator ( void )
public mixed FilterIterator::key ( void )
public void FilterIterator::next ( void )
public void FilterIterator::rewind ( void )
public bool FilterIterator::valid ( void )
}

预定义常量

RegexIterator operation modes

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 Flags

RegexIterator::USE_KEY

Special flag: Match the entry key instead of the entry value.

Table of Contents

  • RegexIterator::accept — Get accept status
  • RegexIterator::__construct — Create a new RegexIterator
  • RegexIterator::getFlags — Get flags
  • RegexIterator::getMode — Returns operation mode.
  • RegexIterator::getPregFlags — Returns the regular expression flags.
  • RegexIterator::getRegex — Returns current regular expression
  • RegexIterator::setFlags — Sets the flags.
  • RegexIterator::setMode — Sets the operation mode.
  • RegexIterator::setPregFlags — Sets the regular expression flags.

用户评论:

[#1] 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));

?>

上一篇: 下一篇: