@roman2861

Как при написании текста использовать что-то похожее на bb-теги?

При написании текста хочу использовать что-то похожее на bb-теги. Пример: я хочу вставить в мою новость картинку, находящуюся по адресу - yandex.st/morda-logo/i/logo.svg. Вместо использования обычных тегов хочу использовать теги вида: {image=http://yandex.st/morda-logo/i/logo.svg}. Я отправляю текст на MySQL базу в таком виде. А как мне распарсить обратно этот тег?
  • Вопрос задан
  • 2570 просмотров
Пригласить эксперта
Ответы на вопрос 5
nazarpc
@nazarpc
Open Source enthusiast
Или Markdown как вариант
Ответ написан
Комментировать
preg_replace юзай и регулярное выражение
Ответ написан
Комментировать
silentvick
@silentvick
Вам нужен не str_replace, а preg_replace.

А лучше не изобретать велосипеды. Почему бы вам не использовать bbcode, вместо «чего-то похожего»?
Ответ написан
Комментировать
jurasarts
@jurasarts
Я бы тоже рекомендовал использовать Markdown для таких целей.
Ответ написан
Комментировать
@2slide
Уменя вот такой код работает
function bbcode($str) {
		$bbc = array(
		'/\[hr\]/is' => '<hr />',
		'/\[b\](.*?)\[\/b\]/is' => '<strong>$1</strong>',
		'/\[i\](.*?)\[\/i\]/is' => '<em>$1</em>',
		'/\[u\](.*?)\[\/u\]/is' => '<u>$1</u>',
		/* ... остальные теги  */
		);
		$str = preg_replace(array_keys($bbc), array_values($bbc), $str);
		
		$str = $str.'<br style="clear:both;" />';
		
		return $str;
}
//эмуляция выполнения
//вывожу преобразованный bbcode в html код
//не забудте экранировать символы
echo bbcode($_POST['new_text']);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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