Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как составить регулярное выражение? / 3 сообщений из 3, страница 1 из 1
06.08.2012, 01:42:11
    #37905075
prot0type
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить регулярное выражение?
есть вот такие теги

вариант 1

Код: html
1.
2.
3.
      <!--[tag]-->
      это нужно вытащить
      <!--[/teg]-->




вариант 2

Код: html
1.
2.
3.
      <!--[tag=[это нужно вытащить тоже]]-->
      это нужно вытащить
      <!--[/teg]-->




вариант 3
Код: html
1.
2.
3.
      <!--[tag=[это нужно вытащить тоже][и это тоже вытянуть]]-->
      это нужно вытащить
      <!--[/teg]-->




вариант 4

Код: html
1.
2.
3.
      <!--[tag=[это нужно вытащить тоже][и это тоже вытянуть][и это, количество скобочек не ограничено]..........]-->
      это нужно вытащить
      <!--[/teg]-->




как реализовать регулярное выражение чтобы оно было универсальным для всех этих условий?

(нужно вытянуть все что между <!--[]--> <!--[/]-->)
...
Рейтинг: 0 / 0
06.08.2012, 07:02:58
    #37905121
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить регулярное выражение?
Код: php
1.
$pattern = "#<!--.*?-->(.*?)<!--.*?-->#"; // Для варианта №1
...
Рейтинг: 0 / 0
06.08.2012, 10:05:41
    #37905221
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как составить регулярное выражение?
prot0type,

Код: php
1.
preg_match_all("/<!\-\-\[tag(=(\[.*?\])+)?\]\-\->(.*?)<!\-\-\[\/tag\]\-\->/ims", $sub, $matches);


тогда в $matches[0] лежит вся выловленная строка, в $matches[1] - строка с атрибутами тэга (в php её надо разбить в массив), в $matches[3] - текст внутри <tag></tag>
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как составить регулярное выражение? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]