PHP 8.1.0 RC 4 available for testing

La classe RegexIterator

(No version information available, might only be in Git)

Introduction

Cet itérateur sert pour réaliser un filtre basé sur une expression rationnelle.

Synopsis de la classe

class RegexIterator extends FilterIterator {
/* Constantes */
const int MATCH = 0;
const int GET_MATCH = 1;
const int ALL_MATCHES = 2;
const int SPLIT = 3;
const int REPLACE = 4;
const int USE_KEY = 1;
/* Méthodes */
public __construct(
    Iterator $iterator,
    string $pattern,
    int $mode = RegexIterator::MATCH,
    int $flags = 0,
    int $pregFlags = 0
)
public accept(): bool
public getFlags(): int
public getMode(): int
public getPregFlags(): int
public getRegex(): string
public setFlags(int $flags): void
public setMode(int $mode): void
public setPregFlags(int $pregFlags): void
/* Méthodes héritées */
public FilterIterator::accept(): bool
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
}

Constantes pré-définies

Modes d'opération de RegexIterator

RegexIterator::ALL_MATCHES

Retourne toutes les occurrences de l'élément courant (voyez preg_match_all()).

RegexIterator::GET_MATCH

Retourne la première occurrence de l'élément courant (voyez preg_match()).

RegexIterator::MATCH

Effectue une recherche simple pour l'élément courant (voyez preg_match()).

RegexIterator::REPLACE

Remplace l'élément courant (voyez preg_replace() ; pas encore totalement implémenté).

RegexIterator::SPLIT

Retourne les valeurs séparées pour l'élément courant (voyez preg_split()).

Drapeaux RegexIterator

RegexIterator::USE_KEY

Option spéciale : travaille sur la clé au lieu de la valeur.

Sommaire

add a note add a note

User Contributed Notes 1 note

up
29
jinmoku at hotmail dot com
10 years ago
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
)
*/
?>
To Top