Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как сделать.

16K
28 августа 2006 года
vadim2
20 / / 23.08.2006
Я сделал гостевую и захотелось её улучшить. У меня есть парочка вопросов:
1.Как сделать bb код
2.Как сделать поддержку смайлов.
3.Как сделать регистрацию на гостевой.
Заранее спасибо.
244
28 августа 2006 года
UAS
2.0K / / 19.07.2006
1) Зайти на любой форум, посмотреть какие есть BB-коды и научится писать регулярные выражения, чтобы потом в тексте гостевой книги эти коды преобразовывать
2) То же что и в 1), ну или проще говоря есть символ :singing: и его надо заменить на картинку, т.е. это будет на php:
 
Код:
$gb=str_replace(":singing:","путь_к_картинке",$gb);

3) Ну это же смотря на чём сделана книга (файлы или БД), да и расписывать долго придётся, а это никому не надо...

Да регистрация в гостевушке не нужна, ИМХО!
16K
28 августа 2006 года
vadim2
20 / / 23.08.2006
А как сделать поддержку скинов?
244
28 августа 2006 года
UAS
2.0K / / 19.07.2006
Господи... Чую с тобой трудновато будет... :) Как, как... Никак... Отделяй свои файлы, т.е. отдельно код, отдельно дизайн. Понимаешь к чему я?? Залезь в phpBB посмотри там систему преобразования шаблонов, посмотри exBB шаблоны... Всему-то не научить на форуме...
16K
28 августа 2006 года
vadim2
20 / / 23.08.2006
А как сделать чтобы можно было загружать файлы?
1.8K
28 августа 2006 года
LastSoul
279 / / 28.12.2005
А почему б литературу какуюнить не поискать, или хотя б поиск на этом форуме заюзать
15
28 августа 2006 года
shaelf
2.7K / / 04.05.2005
>>А как сделать чтобы можно было загружать файлы?
А как тебя заставить книги читать? Поиск + литература. На форуме только конкретные вопросы.
256
30 августа 2006 года
foxweb
1.0K / / 27.07.2005
[QUOTE=vadim2]Я сделал гостевую и захотелось её улучшить. У меня есть парочка вопросов:
1.Как сделать bb код
2.Как сделать поддержку смайлов.
3.Как сделать регистрацию на гостевой.
Заранее спасибо.[/QUOTE]

1. Делай замену по типу ... -> <b>...</b>
2. Делай замену по типу ;) -> <img src="/img/;-).gif">
3. Не нужна в гостевой регистрация. Как и скины и загрузка файлов...

Иначе это уже форум такой получается.
Да и готовых решений море.
21K
30 августа 2006 года
web_programmer
1 / / 19.08.2006
Замена BB кодов делается так (в самом простом случае):

$msg = str_replace( "","<b>",$msg );
$msg = str_replace( "
","</b>",$msg );

Сдесь заменяется только BB код для жирного текста.

Ещё можно сделать по аналогии для курсивного текста и др.

Для ссылок и другого нужно использовать регулярные выражения.
1.8K
30 августа 2006 года
LastSoul
279 / / 28.12.2005
[QUOTE=web_programmer]
$msg = str_replace( "","<b>",$msg );
$msg = str_replace( "
","</b>",$msg );
[/QUOTE]
Эт что такое?
Забыл про BB коды на этом форуме?

 
Код:
$msg = str_replace( "","<b>",$msg );
$msg = str_replace( "","</b>",$msg );
15
30 августа 2006 года
shaelf
2.7K / / 04.05.2005
Hа pear.php.com на сколько я помню должен лежать класс для обработки BBcode.
16K
31 августа 2006 года
vadim2
20 / / 23.08.2006
Про файлы напишите лучше.
10K
31 августа 2006 года
jwagra
62 / / 23.08.2006
[QUOTE=foxweb]
Не нужна в гостевой регистрация. Как и скины и загрузка файлов...
[/QUOTE]
с регистрацией согласен, а вот загрузка файлов в гесте нужна, те же смайлы заливать..
заливка-форма
[HTML]
<FORM METHOD="POST" ACTION="xxx.php" enctype="multipart/form-data">
<TR><td><INPUT TYPE='file' name="file_name"></TD></TR>
<TR><TD><INPUT TYPE=submit value="залить"></TD></TR>
</FORM>
[/HTML]
копирование из темпа в нужную директорию some_directory/, относительно скрипта загрузки
 
Код:
copy($_FILES['file_name']['tmp_name'],
    'some_directory/'.$_FILES['file_name']['name']);

такие вопросы на форумах задавать глупо..слишком их уж многа будет...имх..
16K
31 августа 2006 года
vadim2
20 / / 23.08.2006
А как сдеалть чтоб смайлы заработали?
1.8K
01 сентября 2006 года
LastSoul
279 / / 28.12.2005
[QUOTE=vadim2]А как сдеалть чтоб смайлы заработали?[/QUOTE]
вместо этого:
 
Код:
$gb=str_replace(":s:","<img src=\"smile\s.gif\">",$gb);

вставь вот это:
 
Код:
$mes=str_replace(":s:","<img src=\"smiles/s.gif\">",$mes);

после 56-ой строки в файле gbook.php, т.е. после строки:
 
Код:
$mes=nl2br(htmltrim($f['msg']));


зы: естественно чтоб другие смайлы работали, сделай тож самое для них
244
01 сентября 2006 года
UAS
2.0K / / 19.07.2006
jwagra, ну ты щас научишь человека!!! Одним copy() не обойтись!!! Надо проверить на то, действительно ли загрузился и т.д.

vadim2, может ты не будешь заваливать форум, а поищешь в документациях и статьях, в них всё давно сто лет расписано...
ЗЫ: правда такую мелочь как про замену смайликов там не будет написано :))))) И ты бы в мой код вчитался со смайликами, чтож у всех привычка!!! Им даёшь образец, а они его тупо вставляют! Надо же переделать под себя!!!
Ну ты давай старайся! И не бери всякие pear!!! Надо самому учится через ошибки!!!
10K
01 сентября 2006 года
jwagra
62 / / 23.08.2006
:)
ладно.. во еще функция проверит залился или нет
 
Код:
if(is_uploaded_file($_FILES['file_name']['tmp_name'])){echo "Preved!";}

коды смайлов, как у тебя в гесте писать- это жестоко, рзве что самые известный, аля = ), : ) , надо делать их добавление щелкая на них..
изучай js (хотябы вершки )!!, я сам правда его не знаю :p , всего пару функций написал..
5.3K
07 февраля 2008 года
Прим Палвер
25 / / 07.02.2008
Всем привет!

Думал, что bb-код - это что-то похитрее обычной замены на </b> и обратно, поэтому и начал искать (и наткнулся на этот форум).

Сейчас у меня стоит такая же задачка, как у топикстартера. И вопрос такой: как на форумах получается, что избыток, скажем, или его открывающего аналога не приводит к замене его на </B>?
325
08 февраля 2008 года
Franky
723 / / 10.08.2005
да, атцы! Подскажите, плиз, как сделать регулярку, что ли, для замены <b>, <i> и т.д.
А то str_replace для всего не напишешься
244
08 февраля 2008 года
UAS
2.0K / / 19.07.2006
Вот. Выдрал из своего древнего класса. Так что не ругайте, если криво) Не тем щас занимаюсь, чтоб дописать BB-парсер свой. Ну как основа, я думаю пойдет.. И с заменой[list] вроде тоже лагает. Ну ладно. Кому надо - тот разберется=)

Код:
// заменяем BB-codes и преобразовываем текст
$BBCodes["simple"] = array("b","u","i","s","tt","sub","sup","big","small");
$BBCodes["align"] = array("l","left","r","right","c","center","j","justify");

foreach($BBCodes["simple"] as $item) {
    $this->article = preg_replace("#\[$item\](.*?)\[/$item\]#is",           '<span class="bb_'.$item.'">\\1</span>',$this->article);
}

for($i=0;$i<count($BBCodes["align"]);$i+=2) {
    $find = sprintf("#\[(%s|%s)\](.*?)\[/(%s|%s)\]#is",
                        $BBCodes["align"][$i],$BBCodes["align"][$i+1],
                        $BBCodes["align"][$i],$BBCodes["align"][$i+1]
    );
    $this->article = preg_replace($find,'<p class="'.$BBCodes["align"][$i+1].'">\\2</p>',$this->article[$field]);
}

$this->article = str_replace("[hr]",'<hr width="45%" align="left" size="1" />',$this->article);
$this->article = preg_replace("#\[email\](.*?)\[/email\]#is",'<a href="mailto:\\1">\\1</a>',$this->article);
$this->article = preg_replace("#\[url\](http|https|ftp|telnet)([a-zA-Z0-9_]*?)\[/url\]#is",'<a href="\\1\\2">\\1\\2</a>',$this->article);
$this->article = preg_replace("#\[url=(http|https|ftp|telnet)([a-zA-Z0-9_]*)\](.*?)\[/url\]#is",'<a href="\\1\\2">\\3</a>',$this->article);
$this->article = preg_replace("#\[list\](.*?)\[/list\]#is",'<ul>\\1</ul>',$this->article);
$this->article = preg_replace("#\[*\](.*?)(\[*\]|\[/list\])?#is",'<li>\\1</li>',$this->article);
$this->article = preg_replace("#\[color=(\#[0-9A-F]{6}|[a-z]+)\](.*?)\[\/color\]#si",'<span style="color: \\1">\\2</span>',$this->article);


И css к нему:
Код:
span.bb_b{font-weight:bold;}
span.bb_u{text-decoration:underline;}
span.bb_i{font-style:italic;}
span.bb_s{text-decoration:line-through;}
span.bb_tt{font-family:monospace;}
span.bb_sub{vertical-align:sub;font-size:smaller;}
span.bb_sup{vertical-align:super;font-size:smaller;}
span.bb_big{font-size:120%;}
span.bb_small{font-size:80%;}

p.left{text-align:left;}
p.right{text-align:right;}
p.center{text-align:center;}
p.justify{text-align:center;}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог