У меня есть текст типа:
*open* blah blah blah blah blah *close* blah blah *open* blah blah *close* blah blah *close*
Мне было интересно, как я могу удалить/заменить любые вхождения *close*
, которые не обрабатываются *open*
.
Таким образом, приведенный выше текст будет выглядеть так:
*open* blah blah blah blah blah *close* blah blah *open* blah blah *close* blah blah
Я думал об использовании регулярных выражений с preg_replace, но мои навыки регулярных выражений не так сильны?
<?php
$string = "*open* blah blah blah blah blah *close* blah blah *open* blah blah *close* blah blah *close*";
$string = preg_replace('#(?<!\*open\*)\*close\*#', '', $string); //this only works for immediate proceedings
echo($string);
?>
Приветствуются примеры кода.
\*open\* blah \*open\* blah blah \*close\* blah \*close\*
. - person AbsoluteƵERØ   schedule 24.05.2013