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
)
*/
?>RegexIterator
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
RegexIterator
Референца за `class.regexiterator.php` со подобрена типографија и навигација.
Класата RegexIterator
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
Вовед
Овој итератор може да се користи за филтрирање на друг итератор врз основа на регуларен израз.
Синопсис на класата
Итератор
$iterator,string
$pattern,int
$mode = RegexIterator::MATCH,int
$flags = 0,int
$pregFlags = 0)
Претходно дефинирани константи
Режими на работа на RegexIterator
RegexIterator::ALL_MATCHES-
Врати ги сите совпаѓања за тековниот запис (види preg_match_all()).
RegexIterator::GET_MATCH-
Врати го првото совпаѓање за тековниот запис (види preg_match()).
RegexIterator::MATCH-
Изврши само совпаѓање (филтер) за тековниот запис (види preg_match()).
RegexIterator::REPLACE-
Замени го тековниот запис (види preg_replace(); Сè уште не е целосно имплементирано)
RegexIterator::SPLIT-
Враќа разделени вредности за тековниот запис (види preg_split()).
Знаменца на RegexIterator
RegexIterator::USE_KEY-
Специјално знаменце: Совпаѓај го клучот на записот наместо вредноста на записот.
RegexIterator::INVERT_MATCH-
Го инвертира вратената вредност на RegexIterator::accept().
Својства
- replacement
Содржина
- RegexIterator::accept — Добиј статус на прифаќање
- RegexIterator::__construct — Создај нов RegexIterator
- RegexIterator::getFlags — Добиј знаменца
- RegexIterator::getMode — Враќа режим на работа
- RegexIterator::getPregFlags — Враќа знаменца на регуларниот израз
- RegexIterator::getRegex — Враќа тековен регуларен израз
- RegexIterator::setFlags — Поставува знаменца
- RegexIterator::setMode — Го поставува режимот на работа
- RegexIterator::setPregFlags — Ги поставува знамињата за регуларни изрази
Белешки од корисници 2 забелешки
In case the difference between modes RegexIterator::MATCH and RegexIterator::GET_MATCH is not immediately clear:
MATCH will only return one value per matched element, as a string.
GET_MATCH will return as many values, per matched element, as there are sub-patterns. If there are sub-patterns, each iteration returns an indexed array with the full pattern match at 0 and each of the sub-pattern matches as another element.
If there are no sub-patterns, the behaviour of GET_MATCH is the same as MATCH.