У меня есть следующий фрагмент кода, который заменяет «маркеры шаблона», такие как% POST_TITLE%, содержимым переменной с именем $ post_title.
function replaceTags( $template, $newtext ) {
$template = preg_replace( '/%MYTAG%/', $newtext, $template );
return $template;
}
Проблема в том, что когда в $ post_full есть «$», возвращенный результат удаляет это. Например:
$template = "Replace this: %MYTAG";
$newtext = "I earn $1,000,000 a year";
print replaceTags( $template, $newtext );
// RESULT
Replace this: I earn ,000,000 a year";
Я знаю, что это как-то связано с неправильным экранированием $ 1 в $ newtext. Я пытался использовать preg_quote (), но это не дает желаемого эффекта.