@ingwar4ik

Можно ли сделать замену одной переменной разными значениями из массива при выводе текста?

Может не верно написал заголовок, прошу прощения=)
Ситуация такая, нужно сделать что то подобное.
Пишу сайт на фреймворке и есть у меня item и связанные photo с ним (items_photos) можно ли сделать так, что бы я в редактор вставлял {photo 1} и при выводе на сайте в этом месте выводилась первая связанная картинка и т.д.
Или рассмотрю другой вариант.
P.S: Вставлять фото через редактор не подходит.
  • Вопрос задан
  • 2201 просмотр
Решения вопроса 1
@ingwar4ik Автор вопроса
Вопрос снят.
Решил средствами php.
искал в тексте [photo 1][photo 2] и т. д

if(preg_match_all("/\[photo([^\[\]]*)\]/", $text, $preg, PREG_PATTERN_ORDER)){
			foreach($preg[0] as $key => $value){
				$i = $preg[1][$key];
//$photos - массив с картинками
				if( $photos[$i-1]['file'] ){
					$block = "<div><img src="'.$photos[$i-1]['file'],.'"></div>';
				}else{
					$block = ' ';
				}
				$text = str_replace($value, $block, $text);
			}
		}


может костыль но вариант устраивает.
Всем успехов!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
viktorvsk
@viktorvsk
Что значит, пишете на фреймворке?
Каждый в наши дни пишет на фреймворки. Просто некоторые под фреймворком подразумевают вордпресс, некоторые симфони, некоторые модули php, некоторые обертку над cgi и так далее.

Вы не указали вообще никаких данных. В простейшем виде вы можете делать что-то типа {{item->items_photos.first()}}, а на выводе все, что обернуто в {{}} передават eval().
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы