BBcode не променя таговете

  • Автор Автор Foxy
  • Начална дата Начална дата

Foxy

Registered
Здравейте! Опитвам се да си сложа bbcode. Прочетох уроците в сайта и се опитах да си сложа bbcode. Таговете се слагат первектно, но когато се добавя нещо в bd не ги превръща - ако тага е ([ b][/b]) не го превръща в <b></b>. Ето част от кода, тъй като е доста дълъг:
Код:
if($_POST['submit'])
   {
   	function bbcode($text)
{
$text=preg_replace("/\[b\](.+?)\[\/b\]/s", '<b>$1</b>',$text);
$text=preg_replace("/\[i\](.+?)\[\/i\]/s", '<i>$1</i>',$text);
$text=preg_replace("/\[u\](.+?)\[\/u\]/s", '<u>$1</u>',$text);
$text=preg_replace("/\[quote\](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>Quote:</td></tr><tr><td width="100%" style="border:solid 1px black">$1</td></tr></table>',$text);
$text=preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<table cellspacing="1" width="100%" border="0"><tr><td>$1 êàçà:</td></tr><tr><td width="100%" style="border:solid 1px black">$2</td></tr></table>',$text);
$text=preg_replace("/\[url\](.+?)\[\/url\]/s", '<a href="$1">$1</a>',$text);
$text=preg_replace("/\[url\=(.+?)\](.+?)\[\/url\]/s", '<a href="$1">$2</a>',$text);
$text=preg_replace("/\[img\](.+?)\[\/img\]/s", '<img src="$1" alt="User submitted image" title="User submitted image"/>',$text);
$text=preg_replace("/\[color\=(.+?)\](.+?)\[\/color\]/s", '<span style="color:$1">$2</span>',$text);
$text=preg_replace("/\[size\=(.+?)\](.+?)\[\/size\]/s", '<span style="font-size:$1">$2</span>',$text);
$text=preg_replace("/\[code\](.+?)\[\/code\]/s",'<table cellspacing="1" width="100%" border="0"><tr><td>Code:</td></tr><tr><td width="100%" style="border:solid 1px black">$1</td></tr></table>',$text);
$text = nl2br($text);
return $text;
}
      $zaglavie = trim(htmlspecialchars(addslashes($_POST['zaglavie'])));
      $text = trim(htmlspecialchars(addslashes($_POST['text'])));
      if($zaglavie == NULL || $text == NULL)
      {
         echo "<center><b>Моля попълнете всички полета!</b></center>";
      }
      else
      {
         $avtor = $_SESSION['username'];
         $date = date("m.d.y");
         $sql = "INSERT INTO statii (zaglavie, text, avtor, data) VALUES ('$zaglavie', '$text', '$avtor', '$date')";
         $result = mysql_query($sql) or die (mysql_error());
         echo "<meta http-equiv='refresh' content='3; url=../index.php' /><center><b>Статията беше добавена успешно!<br />След 3 секунди ще бъдете пренасочен към началната страница на сайта!</b></center>";
      }
   }
   else
   {
?>
      <script language="javascript" type="text/javascript">
function bbcode(open_tag, close_tag, id) {
   var obj = document.getElementById(id);
   var spacer;
   if(obj.value.length > 0) {
      spacer = " ";
   } else {
      spacer = "";
   }
   var begining_text = obj.value.substr(0, obj.selectionStart);
   var selected_text = obj.value.substr(obj.selectionStart, obj.selectionEnd);
   var end_text = obj.value.substr(obj.selectionEnd, obj.value.length);

   var caret_position = obj.selectionStart;
   var text_to_caret = obj.value.substr(0, caret_position);
   var text_after_caret = obj.value.substr(caret_position, obj.value.length);

   // If there is a selection
   if(obj.selectionStart != obj.selectionEnd) {
      obj.value = begining_text + open_tag + selected_text + close_tag + end_text
   } else {
   // If there is not a selection
      obj.value = text_to_caret + open_tag + close_tag + text_after_caret
   }
   //obj.value = obj.value + spacer + text;

}
</script>
</head>
      <center><form method="post" action="addstatiq.php" style="width: 800px; height: 600px; border: 0px solid; padding: 5px;">
        <fieldset style="border: 1px solid #000000;">
        <legend style="color: #000000; background: #ffffff; border: 1px solid #000000; padding: 2px 6px;">Добави статия</legend><br />
         Заглавие: <input type="text" name="zaglavie" style="width: 600px; border: solid 1px #000000;" /><br /><br />
         <input name="button1" type="button" id="button1" onclick="javascript: bbcode('[b]', '[/b]', 'text');" value="B" />
		<input name="button2" type="button" id="button2" onclick="javascript: bbcode('[i]', '[/i]', 'text');" value="I" />
		<input name="button3" type="button" id="button3" onclick="javascript: bbcode('[u]', '[/u]', 'text');" value="U" />
		<input name="button4" type="button" id="button4" onclick="javascript: bbcode('[code]', '
', 'text');" value="Код" />
<input name="button5" type="button" id="button5" onclick="javascript: bbcode('
', 'text');" value="Цитат" />
<input name="button7" type="button" id="button7" onclick="javascript: bbcode('
', 'text');" value="Снимка" />
<input name="button8" type="button" onclick="javascript: bbcode('', '', 'text');" value="Линк" /><br />
Текст: <textarea name="text" id="text" rows="30" cols="30" style="width: 600px; height: 500px; margin-top: 15px; margin-left: 24px; border: solid 1px #000000;"></textarea><br />
<input type="submit" name="submit" value="Добави статия" style="margin-top: 5px; width: 145px;" />
</fieldset>
</form></center>
<?php
[/code]

Как да го направя, тека че да ми ги превръща като добавя в бд? Благодаря предварително!
 
Оправих се :o - Забравил съм да си сложа функцията на променливата text :D
 

Back
Горе