[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вставить в текст элементы массива?
Корней
Здравствуйте.
Что то туплю я...
Есть у меня переменная $text внутри которой нормальный html форматированный текст.
Есть у меня массив $arr состоящий из 10 допустим элементов.
Мне нужно при выводе $text вставлять в текст после каждого абзаца "<p>" элемент массива...
Приблизительно так:
<p>$arr[0] Первый абзац</p>
<p>$arr[1] Второй абзац</p>
... И так далее.
Есть ли какой нибудь более менее изящный способ это реализовать?
Подскажите пожалуйста в какую сторону думать )).



Спустя 15 минут, 15 секунд (4.08.2010 - 14:54) waldicom написал(а):
Возможно в сторону циклов? for, foreach, while...

Спустя 1 час, 53 минуты, 59 секунд (4.08.2010 - 16:48) Гость_KaFe написал(а):
Корней
Найди все "<p>" запомни их позиции,
потом пусти цикл от 1 до 10, при том в цикле укажи замену тега "<p>" на "<p>".$arr[]
Не сложно, но и не легко laugh.gif

Спустя 56 минут, 22 секунды (4.08.2010 - 17:44) Корней написал(а):
В том то и дело что я никак не догоню как этот цикл запустить...
Массив циклом выдать - это понятно, но текст-то у меня внутри переменной, я ж не могу внутри echo цикл сделать...
Если только этот текст тоже в массив запихнуть, по <p> разделить на элементы а потом цикл внутри цикла сделать...
Но мне почему то такое решение не нравится...
Может можно как то по другому?

Спустя 9 минут, 37 секунд (4.08.2010 - 17:54) Michael написал(а):
Если сильно не напрягаться то можно так:
$x = "111
<p>
reterter
</p>
<p>222222</p>
<p>33333</p>
"
;
$arr = array("_9_", "_6_", "_3_");
$x = str_replace("<p>", "<p>#", $x);// метку вставим
//echo $x;

foreach ($arr as $val) {
$pos = strpos($x, '#');
if ($pos !== FALSE) {
$x = substr_replace($x, $val, $pos, 1);
}
}

echo $x;

Спустя 17 минут, 33 секунды (4.08.2010 - 18:12) Корней написал(а):
2 Michael
Во. Супер! Спасибо огромное - именно то что нужно.
Быстрый ответ:

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