[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сложный preg_replace
sunyang
Задался таким извратом.

Есть строчка:

$str = 'шла {name} по шоссе и сосала {object}.'


так же есть массив замен:

$ar = array('name' => 'Саша', 'object' => 'Сушку');


можно как-то сделать preg_replace - ом замену со ссылками, типа вот такого:

preg_replace('/{(.*?)}/', $v['$1'], $str);


??
kaww
можно так:
$str = 'шла {name} по шоссе и сосала {object}.';
$ar = array('name' => 'Саша', 'object' => 'Сушку');
echo str_replace(array_map(function($val) {
return '{' . $val . '}';
},array_keys($ar)), $ar, $str);
killer8080
Цитата (sunyang @ 22.10.2014 - 12:19)
можно как-то сделать preg_replace - ом замену со ссылками, типа вот такого:

preg_replace('/{(.*?)}/', $v['$1'], $str);

можно
$str = 'шла {name} по шоссе и сосала {object}.'; 
$ar = array('name' => 'Саша', 'object' => 'Сушку');
echo preg_replace('/{(.*?)}/e', '$ar["$1"]', $str);

но лучше через preg_replace_callback, т.к. модификатор e объявлен deprecated
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.