У меня проблема с переменной preg_replace и $ 1 + без пробела между $ 1 и переменной.
У меня есть этот код:
$replace_id = 5000;
$search = 1000;
$movies = '[1000,2000,2300,1234]';
$new_movies = preg_replace('#(,|\[)'.$search.'(,|\])#Uis','$1'.$replace_id.'$2',$movies);
echo $new_movies;
Выход:
000,2000,2300,1234]
Но я хочу, чтобы этот вывод:
[5000,2000,2300,1234]
Когда я использую preg_replace с пробелом между $ 1 и $ replace_id:
$new_movies = preg_replace('#(,|\[)'.$search.'(,|\])#Uis','$1 '.$replace_id.'$2',$movies);
Он работает отлично, но мне нужно это без пространства внутри!
У вас есть идея?
Спасибо!
Ваш второй код идентичен первому, но я прав, полагая, что вы пытаетесь заменить с рисунком, как '$ 15000' где' $ 1' является токеном, а '5000' - текстовым литералом? – Dave
О, извините, я добавил пространство сейчас;) Да, это то, что я имею в виду. – Wikunia
ОК, в этом случае мой ответ должен вам помочь. – Dave