· Гостей: 3
· Пользователей: 0
· Всего пользователей: 446
· Новый пользователь: juhui
|
-
Телефоны
-
Компьютеры и периферия
-
БЫТОВАЯ ТЕХНИКА
-
Бритвы
-
Будильники, погодные станции
-
Зубные щетки и аксессуары
-
Климатическая техника
-
Комбайны, мясорубки
-
Кофемашины, кофеварки, кофемолки
-
Кухонные весы
-
Маникюрный набор
-
Мед. Техника
-
Миксеры, блендеры
-
Мультиварки, пароварки, фритюрницы
-
Напольные весы
-
Пылесосы и пылесборники
-
Светильники
-
СВЧ печи, хлебопечки
-
Соковыжималки
-
Стайлеры, щипцы для волос
-
Тостеры и бутербродницы
-
Тримеры, машинки для стрижки
-
Утюги
-
Фены
-
Чайники
-
Электроинструмент
-
Электронные гаджеты
-
Электронные сигареты
-
Энергосберегающие лампы
-
Эпиляторы
-
ФОТО И ВИДЕО
-
АУДИО-ВИДЕО ТЕХНИКА
-
навигаторы
-
Наручные часы
|
Карпаты. Верховина. Карпаты. Драгобрат. Карпаты. Яремче, Яблунецкий перевал. dbForge Studio for MySQL вместо PHPMyAdmin Облачные технологии - насколько это серьезно? Как распределяется вес по сайту
Совместимость CMS Solomono.ru - сервис для веб-мастера Микроразметка веб-страниц. АГС - не приговор.
Немного о политике. Что такое АГС и как с ним бороться? Долгожданный АП PR
PR Google: 9 месяцев без апдейта Поведенческий фактор - модная тенденция? Wi-Fi дома. Что делать, если 192.168.0.1 занято?
Ускоренная переиндексация страниц в Яндексе Как я ставил винду на нетбук. ROOKEE - инструмент оптимизатора. Строим рейтинг-каталог
|
|
|
Последние активные темы форума |
|
preg_match_all
(PHP 3>= 3.0.9, PHP 4 , PHP 5) preg_match_all -- Выполняет глобальный поиск шаблона в строке
Описаниеint preg_match_all ( string pattern, string subject, array &matches [, int flags [, int offset]] ) Ищет в строке subject все совпадения с шаблоном
pattern и помещает результат в массив
matches в порядке, определяемом комбинацией флагов
flags.
После нахождения первого соответствия последующие поиски будут осуществляться
не с начала строки, а от конца последнего найденного вхождения.
Дополнительный параметр flags может комбинировать следующие значения
(необходимо понимать, что использование PREG_PATTERN_ORDER одновременно с PREG_SET_ORDER бессмысленно):
- PREG_PATTERN_ORDER
Если этот флаг установлен, результат будет упорядочен следующим образом:
элемент $matches[0] содержит массив полных вхождений шаблона,
элемент $matches[1] содержит массив вхождений первой подмаски, и так далее.
- PREG_SET_ORDER
Если этот флаг установлен, результат будет упорядочен следующим образом:
элемент $matches[0] содержит первый набор вхождений,
элемент $matches[1] содержит второй набор вхождений, и так далее.
В таком случае массив $matches[0] содержит первый набор вхождений, а именно:
элемент $matches[0][0] содержит первое вхождение всего шаблона,
элемент $matches[0][1] содержит первое вхождение первой подмаски, и так далее.
Аналогично массив $matches[1] содержит второй набор вхождений, и так для каждого найденного набора.
- PREG_OFFSET_CAPTURE
В случае, если этот флаг указан, для каждой найденной подстроки будет указана
ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет
формат возвращаемых данных: каждое вхождение возвращается в виде массива,
в нулевом элементе которого содержится найденная подстрока, а в первом - смещение.
Данный флаг доступен в PHP 4.3.0 и выше.
В случае, если никакой флаг не используется, по умолчанию используется
PREG_PATTERN_ORDER.
Поиск осуществляется слева направо, с начала строки. Дополнительный параметр
offset может быть использован для указания альтернативной
начальной позиции для поиска. Дополнительный параметр
offset доступен, начиная с PHP 4.3.3.
Замечание:
Использование параметра offset не эквивалентно
замене сопоставляемой строки выражением substr($subject, $offset)
при вызове функции preg_match_all(), поскольку
шаблон pattern может содержать такие условия как
^, $ или (?<=x).
Вы можете найти соответствующие примеры в описании функции preg_match().
Возвращает количество найденных вхождений шаблона (может быть нулем) либо
FALSE, если во время выполнения возникли какие-либо ошибки.
Пример 1. Получение всех телефонных номеров из текста.
<?php
preg_match_all
(
"/\(? (\d{3})? \)? (?(1) [\-\s] ) \d{3}-\d{4}/x"
,
"Call 555-1212 or 1-800-555-1212"
,
$phones
);
?>
|
|
Пример 2. Жадный поиск совпадений с HTML-тэгами
<?php
// Запись \\2 является примером использования ссылок на подмаски.
// Она означает необходимость соответствия подстроки строке, зафиксированной
// второй подмаской, в нашем примере это ([\w]+).
// Дополнительный слеш необходим, так как используются двойные кавычки.
$html
=
"<b>bold text</b><a href=howdy.html>click me</a>"
;
preg_match_all
(
"/(<([\w]+)[^>]*>)(.*)(<\/\\2>)/"
,
$html
,
$matches
);
for (
$i
=
0
;
$i
<
count
(
$matches
[
0
]);
$i
++) {
echo
"matched: "
.
$matches
[
0
][
$i
] .
"\n"
;
echo
"part 1: "
.
$matches
[
1
][
$i
] .
"\n"
;
echo
"part 2: "
.
$matches
[
3
][
$i
] .
"\n"
;
echo
"part 3: "
.
$matches
[
4
][
$i
] .
"\n\n"
;
}
?>
|
Результат работы примера:
matched: <b>bold text</b>
part 1: <b>
part 2: bold text
part 3: </b>
matched: <a href=howdy.html>click me</a>
part 1: <a href=howdy.html>
part 2: click me
part 3: </a> |
|
Смотрите также preg_match(),
preg_replace(),
и preg_split().
|
Вы не зарегистрированы? Нажмите здесь для регистрации.
Забыли пароль? Запросите новый здесь.
|
|