略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: RegexIterator

2024-11-15

The RegexIterator class

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

简介

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

类摘要

class RegexIterator extends FilterIterator {
/* 常量 */
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;
/* 属性 */
public ?string $replacement = null;
/* 方法 */
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
/* 继承的方法 */
public FilterIterator::accept(): bool
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
public IteratorIterator::next(): 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.

属性

replacement

目录

add a noteadd a note

User Contributed Notes 1 note

up
29
jinmoku at hotmail dot com
11 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
)
*/
?>

官方地址:https://www.php.net/manual/en/class.regexiterator.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3