Прошу помощи (regexp)

Prolix

Новичок
Прошу помощи (regexp)

Идея такая:
у меня есть специфичные теги в тексте, например

<!--BACK-->Click here<!--/BACK-->

И их несколько.
Допустим, текст - это переменная $string.
Как с помощью preg_replace (или еще чего-то, не знаю :( )
заменить всё, что находится внутри именно <!--BACK--><!--/BACK-->
на определенный текст, например, значением переменной $text?

Помогите кто может регулярным выражением.
ЗАРАНЕЕ Очень Благодарен!
 

anight

Новичок
preg_replace ("^(<!--BACK-->)(.+)(<!--/BACK-->)^Ums", "\\1" . $text . "\\3", $string);
 

Prolix

Новичок
THANKS VERY MUCH ОБОИМ! :)
Небольшое примечание - следует-таки использовать /Ums (если честно, я просто догадался :), в этом случае заменяются все теги, а не то, что находится между первым <!--> и последним <!--/>...
В общем, то, что надо было мне, звучит в итоге так:

$tag = "BUTTON";
$button_text = "
Предложение<br>
<!--BUTTON-->Назад<!--/BUTTON--><br>
<!--BUTTON-->Вперед<!--/BUTTON--><br>
Заключение<br>
";
$part[0] = "<-";
$part[1] = "->";

$total = preg_replace ("/(<!--" . $tag . "-->)(.*)(<!--\/" . $tag . "-->)/Ums", $part[0]."\\2".$part[1], $button_text);

echo $total;

На выходе имеем:

Предложение
<-Назад->
<-Вперед->
Заключение

Еще раз спасибо!
 
Сверху