Здравейте! Опитвам се да си сложа bbcode. Прочетох уроците в сайта и се опитах да си сложа bbcode. Таговете се слагат первектно, но когато се добавя нещо в bd не ги превръща - ако тага е ([ b][/b]) не го превръща в <b></b>. Ето част от кода, тъй като е доста дълъг:
', 'text');" value="Код" />
<input name="button5" type="button" id="button5" onclick="javascript: bbcode('
<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]
Как да го направя, тека че да ми ги превръща като добавя в бд? Благодаря предварително!
Код:
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]', '
<input name="button5" type="button" id="button5" onclick="javascript: bbcode('
', 'text');" value="Цитат" />', '
<input name="button7" type="button" id="button7" onclick="javascript: bbcode('
<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]
Как да го направя, тека че да ми ги превръща като добавя в бд? Благодаря предварително!