Я создал систему шаблонов, которая заменяет все переменные, начинающиеся и заканчивающиеся на «%%». Проблема заключается в том, что PREG заменить иногда заменяет более, чем это необходимо, вот пример:preg_replace Можно ли заменить все между двумя символами?
<?php
$str = "100% text %everythingheregone% after text";
$repl = "test";
$patt = "/\%([^\]]+)\%/";
$res = preg_replace($patt, "", $str);
echo $res;
?>
Это выводит «100 после того, как текст», и он должен вывести «100% текст после текста». Есть ли какие-либо решения? Это очень плохо, потому что, если в документе есть правила CSS, используются процентные знаки, и это приводит к замене всего документа.
Отлично! Невероятно, что вы заметили смысл словесных символов. Я подумал об этом некоторое время, затем решил, что, вероятно, это не так. – Unihedron