Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Добавление "Новая тема" на этом форуме

Сообщения:  [1-9] 

 
 автор: Spenser   (26.04.2006 в 21:36)   письмо автору
 
   для: ZC   (26.04.2006 в 20:04)
 

как то мудрова-то, но все равно спасибо, теперь все работает!

   
 
 автор: ZC   (26.04.2006 в 20:04)   письмо автору
 
   для: Spenser   (26.04.2006 в 19:58)
 

Это уже надо делать средствами PHP.

//////////////////////////////////////////////////////
// Файл содержит разнообразные вспомогательные функции
// Является библиотекой форума
//////////////////////////////////////////////////////
// Функция для обработки постов, заменяет все теги на
// их html-эквиваленты, обрабатывает встроенные теги:
// ,,,,[code] и 

//////////////////////////////////////////////////////
function post_work_up($postbody)
{
// Обрабатываем теги

$text = "
";
    $lastocc = 0;
    $sndocc = 1;
    $result = "";
    while($sndocc)
    {
      $fstocc = strpos($postbody,"[code]",$lastocc);
      $sndocc = strpos($postbody,"
",$fstocc);
if(($fstocc>0 && $sndocc>0 && $lastocc>0) || ($fstocc >= 0 && $sndocc>0 && $lastocc == 0))
{
$result .= nl2br(htmlspecialchars(substr($postbody,$lastocc,$fstocc - $lastocc)));
$result .= "<table border=0 ><tr><td class=codeblock>".highlight_string(substr($postbody,$fstocc + 6,$sndocc - $fstocc - 6),true)."</td></tr></table>";
$lastocc = $sndocc + 7;
}
else
{
$result .= nl2br(htmlspecialchars(substr($postbody,$lastocc,strlen($postbody)-$lastocc)));
break;
}
}
$postbody = $result;
$postbody = str_replace("","<b>",$postbody);
$postbody = str_replace("
","</b>",$postbody);
$postbody = str_replace("","<i>",$postbody);
$postbody = str_replace("
","</i>",$postbody);
$postbody=preg_replace("/\[url\]\s*(\S*)\s*\[\/url\]/si",'<a href="\\1">\\1</a>',$postbody);
$postbody = str_replace("'","'",$postbody);
return $postbody;
}
//////////////////////////////////////////////////////
// Функция для обработки названий тем, заменяет все
// теги (,, и ) на их html-эквиваленты,
//////////////////////////////////////////////////////
function theme_work_up($theme)
{
// Обрабатываем теги ,, и
$theme = htmlspecialchars($theme);
$theme = str_replace("","<b>",$theme);
$theme = str_replace("
","</b>",$theme);
$theme = str_replace("","<i>",$theme);
$theme = str_replace("
","</i>",$theme);
$theme = str_replace("'","'",$theme);
return $theme;
}
[/code]

   
 
 автор: Spenser   (26.04.2006 в 19:58)   письмо автору
 
   для: Loki   (26.04.2006 в 14:57)
 

Появилась еще одна проблема, теперь теги вставляются, но исполняют свое предназначение, с чем это может быть связано. Весть текст и теги я сохраняю в mysql в переменной типа text. А когда вывлжу на экран, мне рисуют эти же теги, т.е. он не различает их от основного текста.

   
 
 автор: Spenser   (26.04.2006 в 19:51)   письмо автору
 
   для: Loki   (26.04.2006 в 14:57)
 

Спасибо за подсказку, я реально забыл указать свое название формы, теперь все работает!

   
 
 автор: Loki   (26.04.2006 в 14:57)   письмо автору
 
   для: Spenser   (26.04.2006 в 12:36)
 

А как у вас форма называется?

   
 
 автор: Spenser   (26.04.2006 в 12:36)   письмо автору
 
   для: Loki   (26.04.2006 в 11:54)
 

Посмотрел код страницы, взял оттуда:

<script language='JavaScript1.1' type='text/javascript'>
<!--
  function tag(text1, text2)
  {
     if ((document.selection))
     {
       document.form.podrobnomodel.focus();
       document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
     } else document.form.podrobnomodel.value += text1+text2;
  }
  //function click_link()
  //{
  //  this.form.podrobnomodel.value = this.form.podrobnomodel.value + '>';
  //}

//-->
</script>

и
написал на своей страничке:

<a href=# onClick="javascript:tag('', '[//b]'); return false;" >[b][//b]</a>

В исходном коде вместо [b]podrobnomodel стоит message, но textarea у меня имеет имя podrobnomodel. Скрипт не работает, что не так?
там где два // на самом деле один /, иначе не отображаются.

   
 
 автор: Loki   (26.04.2006 в 11:54)   письмо автору
 
   для: Spenser   (26.04.2006 в 11:09)
 

а можно посмотреть прямо в коде страницы - это же яваскрипт.

   
 
 автор: sancho   (26.04.2006 в 11:14)   письмо автору
 
   для: Spenser   (26.04.2006 в 11:09)
 

можете посмотреть форум в разделе http://softtime.ru/info/forums_gb.php

   
 
 автор: Spenser   (26.04.2006 в 11:09)   письмо автору
 
 

Всем привет!
У меня такой вопрос, кто-нибудь может привести скрипт добавления новой темы как на этом форуме. А именно как сделать ссылки [code][//code] и остальные, чтобы они работали также как на форуме???
Заранее спасибо.

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования