шаблон php preg_replace - PullRequest
       11

шаблон php preg_replace

1 голос
/ 28 января 2011

Мне нужна рука на моем preg_replace шаблоне:

Я хочу заменить текст в скобках [], но также внутри скобок и не только до первого [.[.].....] и того же шаблона, но заменить только цифры в этих скобках.

есть идеи?

1 Ответ

4 голосов
/ 28 января 2011

Попробуйте это регулярное выражение:

$re = '#\[(?:.*?(?0))*.*?\]#'

Это будет соответствовать паре [...], которая сама может содержать одну или несколько пар [...] с любыми символами между ними. Это делается с помощью рекурсии в шаблоне ((?0) вызывает шаблон снова).

preg_match($re, '[.[.]....]', $m);
print_r($m);

// Output:
// Array
// (
//    [0] => [.[.]....]
// )
...