Начин за правене на BBcode

Dizasterr

Registered
Здравейте! Някой може ли да ми даде урок или с нещо да ме насочи как да направя като това във форума при писането на коментари за картинките и за кодовете. Благодаря предварително. Не искам никакъв код да ми пишете!
 
Код:
<?
$id = $_GET['id'];
if($_POST['message'])
{
$msg = $_POST['message'];
$author = $_SESSION['username'];
$date = date("d.m.Y - H:i:s");
$sql = mysql_query("INSERT comments (uid, author, date, comment) VALUES ('$id', '$author', '$date', '$msg')");
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=index.php?m=uroci&ext=view&id=$id\">";
}
?>


<form action="" name="addform" method="POST">
<input type="button" value="[b]" onclick="javascript:areatext('[b]Text[/b]');">
<input type="button" value="[i]" onclick="javascript:areatext('[i]Text[/i]');">
<input type="button" value="[u]" onclick="javascript:areatext('[u]Text[/u]');">
<input type="button" value="Color" onclick="javascript:areatext('[color=]Text[/color]');">
<input type="button" value="Size" onclick="javascript:areatext('[size=0]Text[/size]');">
<input type="button" value="Img" onclick="javascript:areatext('[img]Address[/img]');">
<input type="button" value="URL" onclick="javascript:areatext('[url=Address]Name[/url]');">
<input type="button" value="Code" onclick="javascript:areatext('[code]
');"><br/><textarea rows="7" cols="55" name="message"<? if(isset($_POST[message])) echo $_POST[message]; ?></textarea><br><br>
<input type="submit" value="Добави">[/code]

ако ти трябва за коментари
 
bankera1990 каза:
Код:
<?
$id = $_GET['id'];
if($_POST['message'])
{
$msg = $_POST['message'];
$author = $_SESSION['username'];
$date = date("d.m.Y - H:i:s");
$sql = mysql_query("INSERT comments (uid, author, date, comment) VALUES ('$id', '$author', '$date', '$msg')");
echo "<META HTTP-EQUIV="refresh" CONTENT="0; URL=index.php?m=uroci&ext=view&id=$id">";
}
?>


<form action="" name="addform" method="POST">
<input type="button" value="[b]" onclick="javascript:areatext('[b]Text[/b]');">
<input type="button" value="[i]" onclick="javascript:areatext('[i]Text[/i]');">
<input type="button" value="[u]" onclick="javascript:areatext('[u]Text[/u]');">
<input type="button" value="Color" onclick="javascript:areatext('[color=]Text[/color]');">
<input type="button" value="Size" onclick="javascript:areatext('[size=0]Text[/size]');">
<input type="button" value="Img" onclick="javascript:areatext('[img]Address[/img]');">
<input type="button" value="URL" onclick="javascript:areatext('[url=Address]Name[/url]');">
<input type="button" value="Code" onclick="javascript:areatext('[code]
');"><br/><textarea rows="7" cols="55" name="message"<? if(isset($_POST[message])) echo $_POST[message]; ?></textarea><br><br>
<input type="submit" value="Добави">[/code]

ако ти трябва за коментари
Като натисна b не ми се появяват таговете.
 
KaRo каза:
В форума неможах да открия, но ето? http://php.karcho.com/urok.php?view=125
Добре, но аз искам като натисна на img да се появяват таговете, в които се слага снимката и след това тя да се визуализира.
 
Добре става и без това, но сега ще се появява ли като се запише в базата данни ?
 
Всичко е примерно
Код:
<script>
 function add(text) 
 { 
    document.getElementById("text").value += text; 
 } 
</script>

<form action="" method="post">
<a href="javascript:add('[img][/img]')">Снимка</a>
<a href="javascript:add('[b][/b]')">B</a>
<a href="javascript:add('[url][/url]')">Линк</a>
<a href="javascript:add('[url=][/url]')">Линк с име</a>
<a href="javascript:add('[u][/u]')">U</a>
<a href="javascript:add('[quote="][/quote"]')">Цитат</a><br />
<textarea id="text" name="pole" rows="5" cols="50"> </textarea>
<input type="submit"value="Изпрати" name="buton" />
</form>
<?php
if(isset($_POST['buton']) AND $_POST['pole'] != "" ){
function bbcode($text){
$text=preg_replace("/\[b\](.+?)\[\/b\]/s", '<b>$1</b>',$text);
$text=preg_replace("/\[u\](.+?)\[\/u\]/s", '<u>$1</u>',$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="Image title="Image"/>',$text);
$text=preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<br /><b>$1</b> каза:<div style="border: 1px dashed black; width:400px;">    $2</div>',$text); 
$text = nl2br($text);
return $text;
}
$var = $_POST['pole'];
echo bbcode($var);
}

ето ти нещо като натиснеш бутона преобразува и ти го изцежда от долу
пробвал съм го с този текст


Код:
[img]http://www.w3schools.com/images/compatible_safari.gif[/img]
[b]Blode text[/b]
[url]http://web-tourist.net[/url]
[url=http://web-tourist.net/forum/]WT FORUM[/url]
[u]Underline text[/u]
 [quote="sorRy"]Заповядай[/quote]
нещо обикновено
имаш два варианта за записване в дб на най-добрия е записваш текста без промени и после като го вадиш го минаваш през функцията за ббкод
 
Толкова ли никой не се сети за на ХунтеР урока :Х
мн добре си е обяснено всичко ! http://web-tourist.net/login/login/view.php?st=3060
 
sorRy каза:
Всичко е примерно
Код:
<script>
 function add(text) 
 { 
    document.getElementById("text").value += text; 
 } 
</script>

<form action="" method="post">
<a href="javascript:add('[img][/img]')">Снимка</a>
<a href="javascript:add('[b][/b]')">B</a>
<a href="javascript:add('[url][/url]')">Линк</a>
<a href="javascript:add('[url=][/url]')">Линк с име</a>
<a href="javascript:add('[u][/u]')">U</a>
<a href="javascript:add('[quote="][/quote"]')">Цитат</a><br />
<textarea id="text" name="pole" rows="5" cols="50"> </textarea>
<input type="submit"value="Изпрати" name="buton" />
</form>
<?php
if(isset($_POST['buton']) AND $_POST['pole'] != "" ){
function bbcode($text){
$text=preg_replace("/\[b\](.+?)\[\/b\]/s", '<b>$1</b>',$text);
$text=preg_replace("/\[u\](.+?)\[\/u\]/s", '<u>$1</u>',$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="Image title="Image"/>',$text);
$text=preg_replace("/\[quote\=(.+?)](.+?)\[\/quote\]/s", '<br /><b>$1</b> каза:<div style="border: 1px dashed black; width:400px;">    $2</div>',$text); 
$text = nl2br($text);
return $text;
}
$var = $_POST['pole'];
echo bbcode($var);
}

ето ти нещо като натиснеш бутона преобразува и ти го изцежда от долу
пробвал съм го с този текст

Код:
[img]http://www.w3schools.com/images/compatible_safari.gif[/img]
[b]Blode text[/b]
[url]http://web-tourist.net[/url]
[url=http://web-tourist.net/forum/]WT FORUM[/url]
[u]Underline text[/u]
 [quote="sorRy"]Заповядай[/quote]
нещо обикновено
имаш два варианта за записване в дб на най-добрия е записваш текста без промени и после като го вадиш го минаваш през функцията за ббкод
Благодаря. Не се бях сетил за това. А да попитам как да не ги записвам с тези ? Записвам си ги в базата данни с
и след това си ги вадя ? Това ли имаш напредвид ?
 
Да записваш с
и после само минаваш текста който си извадил през функцията bbcode и си готов
 
sorRy каза:
Да записваш с
и после само минаваш текста който си извадил през функцията bbcode и си готов
Благодаря много! Не се бях сетил. Сега като видях как става не изглежда толкова трудно. Естествено +1. :?:
 

Back
Горе