Привет всем. Подскажите пожалуйста. Надо выбрать все символы от [ до ] или до конца текста. Пробую что то типа /(\[)(.*?)((\[)|)/iums ,но чё-то не выходит. Заранее благодарю.
Mr.M.I.T. Символа альтернативы я избегаю, когда можно обойтись без него (а в данном случае это можно). До конца текста, модификатор s указан.
Блин. Тут кое что посложнее получается. Надо выбрать из текста все куски [(.*?)] включая и эти квадратные скобки или до конца текста, если правая не закрыта, и к этим куска применить функцию обратного вызова к таким фрагментам, а остальную часть оставить как есть. PHP: <?php preg_replace_callback('#(.*?)(\[)(.*?)(?:(\])|$)(.*?)#is', array($this, 'RCallback'), $sText); function RCallback($arMatches) { return $arMatches[1] . parent::Strope($arMatches[2] . $arMatches[3] . $arMatches[4], FALSE) . $arMatches[5]; } Не пашет, падло...[/code]