Немного непонятен алгоритм

SereBen

Новичок
Немного непонятен алгоритм

пытаюсь сделать что то подобное как в данном форуме при вводе сообщения можно применять теги которые потом перекодируються в хтмл теги

например c выделением жирным шрифтом понятно, открывающий и закрывающий тег перекодируеться в <b> "Значение" </b> соответсвенно , а вот как быть со ссылкой

там ведь нужна структура типа <a href="Значение">"Значение"</a>

я пользуюсь функцией preg_replace(), т.е. заменить спец символ на хтмл тэг в случае с жирным шрифтом не проблема, ну а со ссылкой не получеться правильно заменить потому как требуеться 2 значения
 

_vampiro_

Новичок
ИМХО =><b> гораздо выгоднее заменять через [m]str_replace[/m]. а ХТМЛ - покажи что за "спец символ" у тебя.
 

SereBen

Новичок
у меня сейчас заменяеться так[.url] => <a href=>
а [/.url] на </a>
т.е. получаеться <a href=ссылка></a>
либо <a href=>ссылка</a>
так проблема в том что надо вставлять как
<a href="Значение">"Значение"</a>
 

_vampiro_

Новичок
[.url=тут_url]тут текст[/.url]

такой вариант решит проблему? в preg-ах смотри в сторону \1 и \2 ;) пиши-что намыслишь! (а проще спросить у гугля)
 

SereBen

Новичок
да нет, просто пользователь вводит текст типа

[.url] www.teratata.ru/index.php [/.url]
а вот мне уже необходимо конвернтуть его в
<a href=www.teratata.ru/index.php>www.teratata.ru/index.php </a>
 

_vampiro_

Новичок
http://phpclub.ru/detail/article/regexp_1
и
http://phpclub.ru/detail/article/regexp_2
там есть пример 95% похожий на этот. Читайте.
 

griha

Новичок
Есть пакет PEAR для решения твоей проблемы HTML_BBCodeParser
 

SereBen

Новичок
посмотрел.... там мне точно не разобраться... прийдеться что то придумывать самому
 

Dreammaker

***=Ф=***
SereBen, если не жутко коммерческое приложение, то можно одолжить :) из PHPBB.
 

dvp

Новичок
Автор оригинала: griha
Есть пакет PEAR для решения твоей проблемы HTML_BBCodeParser
Попробовал этот пакет. Я возмущён

Он из кода
Код:
{b}<scrpt>....</script>{/b}
делает
Код:
<strong><script>....</script></strong>
т.е. пропускает сквозь себя тег <script> со всеми вытекающими.

p.s. фигурные скобки следует расматривать как прямоугольные
 

Gashish

Новичок
На мой взггляд самое лучшее решение - массив bbcod'a и массив результирующих тегов. У меня это, например, релизованно таблицей :)

Потом делаешь preg_replace и все замечательно...
 

dvp

Новичок
Автор оригинала: Gashish
На мой взггляд самое лучшее решение - массив bbcod'a и массив результирующих тегов. У меня это, например, релизованно таблицей :)

Потом делаешь preg_replace и все замечательно...
а как же вложенность тегов
 

Gashish

Новичок
PHP:
function parse_bbcode_tags($text) {
	$text=str_replace ("[*]","<li>",$text);
	$query="select pattern,`replace` from bbcode_tags where 1";
	$result=mysql_query($query);
	while ($tags=mysql_fetch_array($result)) {
		$patterns[]=$tags['pattern'];
		$replacements[]=$tags['replace'];

	}
	$text=preg_replace($patterns,$replacements,$text);
	mysql_free_result($result);
	return $text;
	}
Все прекрасно работает, в том числе и вложенные тэги...
 

A-Lex[FM]

Web/Highload/DataScience
Попробуй взять исходники BB форума, любого, и найти в них функцию типа parse_bb или parse_bbcode, уверяю тебя, сразу всё понятно будет. Я себе так и делал.
 
Сверху