Помогите с регулярным выражением

Name

Новичок
Помогите с регулярным выражением

Помогите с регулярным выражением

Есть строка:
Код:
{{double_tag_skip}}

<skip_strip>before {block_tag_skip} after </skip_strip> 

{normal_tag_strip}
Надо получить:
Код:
{double_tag_skip}

<skip_strip>before {block_tag_skip} after </skip_strip>
То есть где двойной {{ = {
Внутри <skip_strip> = не трогаем
остальные стрипать
 

Активист

Активист
Команда форума
>остальные стрипать
Бубен забыл на работе:)

Что тебе конкретно нужно?
заменить {{blabla}} на {blabla}

preg_replace("/\{(\{[a-z_]+\})\}/i", "\\1", $subject);
 

HraKK

Мудак
Команда форума
nofx
не подойдет


Уважаемые отвечающие, читайте вопрос ТС хотя бы.
 
HraKK
решение задачи мое такое, но не регулярками...
PHP:
// вырезаем все <skip_strip>
preg_match_all("#<skip_strip>(.+?)<\/skip_strip>#", $str, $skip_strip);

// временно их заменяем на skip_stripX
for($i=0; $i<count($skip_strip[0]); $i++)
{
	$str = str_replace($skip_strip[0][$i], 'skip_strip' . $i, $str);
}

// стрипаем все {normal_tag_strip} и т.п.
$str = preg_replace("#\s*[^\{]\{[a-z_]+\}#", '', $str);

// {{double_tag_skip}} превращаем в {double_tag_skip}
$str = str_replace('{{', '{', $str);
$str = str_replace('}}', '}', $str);

// возвращаем <skip_strip> на свои места
for($i=0; $i<count($skip_strip[0]); $i++)
{
	$str = str_replace('skip_strip' . $i, $skip_strip[0][$i], $str);
}
кто сделает регулярными, честь ему и хвала ;-)
 
Сверху