Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Совет по формам


Автор: ИвановЕъ 23.6.2006, 00:44
Задача: наделить пользователя разными функциями при добавлении новости (цвет, шрифт и т.п.)
Как лучше реализовать? Заменять, скажем, "[код]" на тэги через preg_replace?
Что посоветуете относительно таблиц?
Заранее благодарен 

Автор: PARROT 23.6.2006, 09:20
Яваскрипт (если поискать в разделе то скрипт там есть)+ РНР
Код

 function ApplyFormatting($text, $nl2br = true) {

                return str_replace(
                        array('[i]', '[/i]', '[b]', '[/b]', '[u]', '[/u]', '[quote]','[/quote]','[color=red]','[/color]','[color=blue]','[/color]','[color=green]','[/color]','[color=orange]','[/color]','[color=silver]','[/color]','[color=black]','[/color]','[color=yellow]','[/color]','[size=1]','[/size]','[size=2]','[/size]','[size=6]','[/size]','[size=8]','[/size]','[size=10]','[/size]','[font=arial]','[/font]','[font=courier]','[/font]','[font=impact]','[/font]','[font=tahoma]','[/font]','[font=times]','[/font]','[font=verdana]','[/font]','[justify]', '[/justify]',
                                '[center]',  '[/center]','[right]', '[/right]', '[left]', '[left]',),
                        array('<i>', '</i>', '<b>', '</b>', '<u>', '</u>','<div class=quote>','</div>','<font color=red>','</font>','<font color=blue>','</font>','<font color=green>','</font>','<font color=orange>','</font>','<font color=silver>','</font>','<font color=black>','</font>','<font color=yellow>','</font>','<font size=1>','</font>','<font size=2>','</font>','<font size=6>','</font>','<font size=8>','</font>','<font size=10>','</font>','<font face=arial>','</font>','<font face=courier>','</font>','<font face=impact>','</font>','<font face=tahoma>','</font>','<font face=times>','</font>','<font face=verdana>','</font>','<p align="justify" class="content">', '</p>',
                                 '<p align="center" class="content">', '</p>', '<p align="right" class="content">', '</p>',
                                 '<p align="left" class="content">', '</p>',), (($nl2br == true) ? nl2br($text) : $text)
                );

        }
 

Автор: ИвановЕъ 23.6.2006, 14:27
Спасибо, я примерно так и думал, только Ваш код короче получился и удобнее smile
ЯваСкрипт я уж и сам напишу.

Вот только вопрос остался... как лучше организовать таблицы? Или все-таки придется пользователя тегам учить? <table><tr><td>..... 

Автор: R.M. 23.6.2006, 16:46
ИвановЕъ, скачай WYSIWYG-редактор и вставь к себе на сайт, облегчишь себе и пользователям жизнь 

Автор: ИвановЕъ 23.6.2006, 19:26
Куксикус
Можно поподробнее?  

Автор: PARROT 25.6.2006, 21:36
http://xpoint.ru/know-how/WYSIWYG/TrueJavaScriptEditor?comments
Ой, ну не люблю я эти редакторы, их пока изучишь жизнь пройдет. Лучше ручками писать.  

Автор: Aliance 26.6.2006, 04:23
PARROT, а в твоем коде если написать только открывающий тег, то получится не то, что ожидается...
Нужно еще проверять на парность тегов! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)