Форумы|Программирование на PHP
Регулярки

<<Пред. | След.>>
1,2,3...12,13,14
Сообщения
1. Spar[308](Off)Отв|Цит|ЛС
11 Июн 2010, 18:00
Дайте ссылки на статьи в которых очень подробно описываются регулярные вырожения?
2. Akdmeh[2348](Off)Отв|Цит|ЛС
11 Июн 2010, 18:31
http://phpclub.ru/detail/article/regexp_1
http://phpclub.ru/detail/article/regexp_2

http://habrahabr.ru/blogs/regex/ небольшой блог на хабрахабре - можно почитать некоторые.

http://www.pcre.ru/docs/php/ официальная документация по pcre(шаблоны preg_) в php
3. Akdmeh[2348](Off)Отв|Цит|ЛС
11 Июн 2010, 18:31
Перенёс в php - тут меньше шансов потеряться, потом занесу в полезные темы.
4. Fuelen[436](Off)Отв|Цит|ЛС
11 Июн 2010, 19:27
Есчо http://docs.php.net/manual/ru/regexp.reference.php
5. Spar[308](Off)Отв|Цит|ЛС
11 Июн 2010, 21:06
Спасибо товарищи!)
6. wapmorgan[2024](Off)Отв|Цит|ЛС
03 Авг 2010, 18:34
<?php
$content = '{if $a}
{if $b}

{/if}
{/if}';

preg_match_all('~\{if (\!)?(\~)?\$((.*)(\.(.*))?)( (.*) ([0-9]+|\$((.*)(\.(.*))?)))?\}(?:\r\n|\n)?(.*)(?:\r\n|\n)?\{\/if\}~uUs', $content, $ifs);

print_r($ifs);
?>
выдает одно найденное значение с содержимым ($ifs[0][0])
{if $a}
{if $b}

{/if}
хотя должно быть два найденных значения, типа
$ifs[0][0] =>
{if $b}

{/if}
$ifs[1][0] => {if $a}

{/if}
уже замучался я с это регуляркой  , прошу помощи
7. Mediator21[97](Off)Отв|Цит|ЛС
03 Авг 2010, 18:44
Morgan, попробуй четвертым параметром поставить PREG_SET_ORDER
8. wapmorgan[2024](Off)Отв|Цит|ЛС
03 Авг 2010, 19:00
помогло, спасибо.
регулярка может составлена не совсем точно?
9. wapmorgan[2024](Off)Отв|Цит|ЛС
03 Авг 2010, 19:39
а нет,
$content = '{if $a}
{if $b}

{/if}

{/if}';

preg_match_all('~\{if (\!)?(\~)?\$((.*)(\.(.*))?)( (.*) ([0-9]+|\$((.*)(\.(.*))?)))?\}(?:\r\n|\n)?(.*)(?:\r\n|\n)?\{\/if\}~uUs', $content, $ifs, PREG_SET_ORDER);

print_r($ifs);
===>>>
Array
(
    [0] => Array
        (
            [0] => {if $a}
{if $b}

{/if}
            [1] =>
            [2] =>
            [3] => a
            [4] => a
            [5] =>
            [6] =>
            [7] =>
            [8] =>
            [9] =>
            [10] =>
            [11] =>
            [12] =>
            [13] =>
            [14] =>
{if $b}

        )
10. Mediator21[97](Off)Отв|Цит|ЛС
03 Авг 2010, 19:42
Morgan, а ты зачем столько круглых скобок наставил? Они как переменные считаются и результат заносится в массив. Как я понимаю ты шаблонизатор пишеш?

<<Пред. | След.>>
1,2,3...12,13,14


Стр.

Ответить на тему
Сохранить в txt