Я борюсь с preg_replace
и очень надеюсь, что кто-то может заметить мою ошибку.Регулярные выражения кажутся моей ахиллесовой пятой.
Я пытаюсь заменить строки типа {{123.jpg}}
на <img src="http://mydomain/some/path/123.jpg"></img>
Я искал похожие вопросы и нашел preg_quote
, но я неЯ не думаю, что у меня есть какие-либо символы регулярного выражения в не-регулярной части моей замещающей строки, поэтому я в растерянности.
Вот что я пытаюсь:
function replace($article_id,$text){
$pattern = '/\{\{(.*?)\}\}/';
$replacement = '<img src="'.URL_CONSTANT.'articles/'.$article_id.'/'.'${1}'.'"></img>';
return preg_replace($pattern, $replacement, $text);
}
Я могуубедитесь, что шаблон соответствует, но он не заменяет должным образом.Я думаю, что проблема может относиться к финальному /
перед заменой ${1}
, но я не понимаю, почему, поскольку я не верю, что это специальный символ регулярного выражения.
Любая помощь приветствуется!
РЕДАКТИРОВАТЬ: я обнаружил, что проблема не связана с моим выражением лица.Спасибо всем, кто помогал проверить, что мое выражение лица было правильно сформировано!