Всё для создания веб-сайта
Главная | Поиск | Обратная связь | Карта сайта | Версия для печати

Замена вставок

Замена вставок

Есть текст, в котором присутствуют вставки типа {code_0}, {code_1}, {htm_0} и т.д.
Надо заменить {code_0} на $code[0], {code_1} на $code[1], {htm_0} на $htm[0] ...

$text = "Есть текст, в котором присутствуют вставки типа {code_0}, {code_1}, {htm_0} и т.д.";
$code = array ("замена вставки code_0", "замена вставки code_1");
$htm = array ("замена вставки htm_0");

Есть несколько вариантов решения данной проблемы. Например, можно сделать это с помощью циклов:

for ($i=0; $i<count($code); $i++)
   {
   $text = str_replace ("{code_".$i."}", $code[$i], $text);
   }
for ($i=0; $i<count($htm); $i++)
   {
   $text = str_replace ("{htm_".$i."}", $htm[$i], $text);
   }

Но можно поступить и проще, используя регулярные выражения:
Вариант 1:

function replacer ($matches)
   {
   global $code, $htm;
   return $matches[1] == ("code" ? $code[$matches[2]] : $htm[$matches[2]]);
   }
$text = preg_replace_callback ("/\{(code|htm)_(\d+)\}/i", "replacer", $text);

Вариант 2:

   $text = preg_replace ("/\{([a-z]+)_([0-9]+)\}/e", "isset($\\1[\\2]) ? $\\1[\\2] : ''", $text);

Вернуться к списку

Авторизация
запомнить меня
Забыли свой пароль?
Поиск по сайту

Самое популярное

Статистика

Если вам понравился наш сайт, будем благодарны за размещение нашей кнопки на страницах Вашего сайта
как выглядит:

Учебник HTML, свойства CSS, сборник JavaScript, PHP скриптов

код нашей кнопки:

регистрация сайта в каталогах Заработай на своем сайте Заработай на своем сайте WOlist.ru - каталог сайтов Рунета