|
|
|
| Здравствуйте! У меня есть тескст с бб тегами, он хранится в переменной $topiktext, скажите, как текст с бб тегами хранящийся в этой переменной переделать на текст с html тегами соответствующим бб.
Используются:
[b][/b]
[i][/i]
[u][/u]
[big][/big]
[small][/small]
[br]
[img][/img]
[font][/font] | |
|
|
|
|
|
|
|
|
для: gecccter
(26.06.2008 в 11:47)
| |
preg_replace("#\[small\](.+)\[\/small\]#isU",'<small>\\1</small>',$text);
preg_replace("#\[big\](.+)\[\/big\]#isU",'<big>\\1</big>',$text);
preg_replace("#\[b\](.+)\[\/b\]#isU",'<b>\\1</b>',$text);
preg_replace("#\[i\](.+)\[\/i\]#isU",'<i>\\1</i>',$text);
preg_replace("#\[url\][\s]*([\S]*)[\s]*\[\/url\]#si",'<a href="\\1" target=_blank>\\1</a>',$text);
preg_replace("#\[url[\s]*=[\s]*([\S]+)[\s]*\][\s]*([^\[]*)\[/url\]#isU",
'<a href="\\1" target=_blank>\\2</a>',$text);
|
и тд. | |
|
|
|
|
|
|
|
для: AcidTrash
(26.06.2008 в 12:05)
| | спасибо, помогите пожалуйста еще с тегами [br] [img][/img] [color][/color] и еще:
если писать например так [big][big]тест[/big][/big] то увидит только первый открывающий и последний заккрывающий, т.е. так [big]тест[/big] где тест выводится большими буквами, это можно опправить? я просто не особо силен в программировании и в частности пхп, поэтому врядли сумею сделать сам что-то из этого, даже по анологии с уже написанными | |
|
|
|
|
|
|
|
для: gecccter
(26.06.2008 в 12:59)
| | >спасибо, помогите пожалуйста еще с тегами [br] [img][/img]
$text=preg_replace("#\[img\](.+)\[/img\]#isU",'<img src="\\1" border=0>',$text);
$text=str_replace("[br]",'<br>',$text);
|
Насчет [color][/color] поподробнее
>big][big]тест[/big][/big] то увидит только первый открывающий и последний заккрывающий,
Если правильно понял
$text=preg_replace("#(\[big\]){1,}(.+?)(\[/big\]){1,}#is",'<big>\\2</big>',$text);
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(26.06.2008 в 13:56)
| | Спасибо, [img] работает [color] скачал откудато в инете, тоже работает, [br] работает, а вот на счет [big][big] тест [/big][/big], лишних бб тегов не выводит как в прошлый раз, НО увеличивает только один раз, т.е. если поставить [big][big][big][big] тест [/big][/big][/big][/big] то размер надписи будет такойже как [big] тест [/big] | |
|
|
|
|
|
|
|
для: gecccter
(26.06.2008 в 14:06)
| | >если поставить [big][big][big][big] тест [/big][/big][/big][/big] то размер надписи будет такойже >как [big] тест [/big]
Я думал вы имеете ввиду, что сколько бы не было [big] и [/big], считался только один, а другие даже и не показывались. | |
|
|
|
|
|
|
|
для: AcidTrash
(26.06.2008 в 14:10)
| | до этого тоже считался только один как и сейчас, только еще те, что не считались выводились незамененными! Просто как [big] а сейчас те что не считаются хотябы не выводятся.
Вопрос все равно остается(( | |
|
|
|
|
|
|
|
для: gecccter
(26.06.2008 в 14:24)
| | Что-то типа такого
<?php
$text="[big][big]text[/big][/big]";
function big($out)
{
return "<".preg_replace("![\[\]]!", "",$out[0]).">";
}
$text=preg_replace_callback("#\[/?big\]{1,}#is","big", $text);
print $text;
?>
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(26.06.2008 в 15:24)
| | А напишите пожалуйста ББ код тега фонт [font][/font]
и обратній вариант из Тега в ББ код | |
|
|
|
|
|
|
|
для: Stanisov
(27.06.2008 в 12:41)
| | Атрибуты какие нибудь есть?
Если нет, то аналогично
preg_replace("#\[font\](.+)\[/font\]#isU",'<font>\\1</font>',$text);
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(27.06.2008 в 13:03)
| | Не совсем так...... вот такой тег [#00000] ТЕКСТ_ЛЮБОЙ [/#00000] - преобразуеца на <font color="#000000">ТЕКСТ_ЛЮБОЙ</font> и такой же тег обратно, как сделать? | |
|
|
|
|
|
|
|
для: Stanisov
(27.06.2008 в 13:13)
| |
<?php
// Замена на font
$text = "[#000000] ТЕКСТ_ЛЮБОЙ [/#000000]";
$text = preg_replace("#\[(.+)\](.+)\[/.+\]#isU",'<font color=\"$1\">$2</font>',$text);
print $text;
//Обратная замена на BB-коды
$text1 = "<font color=\"#000000\">ТЕКСТ_ЛЮБОЙ</font>";
$text1 = preg_replace("#<font color=\"(.+)\">(.+)</font>#isU",'[$1]$2[/$1]',$text1);
print $text1;
?>
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(27.06.2008 в 13:25)
| | Работает! спасибо, AcidTrash!
//Обратная замена на BB-коды
$text1 = "<font color=\"#000000\">ТЕКСТ_ЛЮБОЙ</font>";
$text1 = preg_replace("#<font color=\"(.+)\">(.+?)</font>#isU",'[$1]$2[/$1]',$text1);
print $text1;
|
а если самому делать фонты [aqua] ТЕКСТ_ЛЮБОЙ [/aqua], [rer] ТЕКСТ_ЛЮБОЙ [/red], [#ff0909] ТЕКСТ_ЛЮБОЙ [/ff0909], ну вобщем чтоб юзер сам мог ставить себе фонт, как тогда заменять? | |
|
|
|
|
|
|
|
для: Stanisov
(27.06.2008 в 13:31)
| | Ну, это уже JavaScript.
Форум правее "HTML-CSS-JavaScript".
Думаю Вам там быстрее подскажут, чем я. | |
|
|
|
|
|
|
|
для: AcidTrash
(27.06.2008 в 13:40)
| | Хорошо! Все равно спасибо огромное! | |
|
|
|
|
|
|
|
для: Stanisov
(27.06.2008 в 13:57)
| | Хорошо! Все равно спасибо огромное!
Полагаю это написана фраза
"Хорошо! Все равно спасибо огромное!" :) | |
|
|
|