|
|
|
| Подскажите как сделать добавление смайликов или тегов в форму, типо этого
Код: [cod][/cod]
Жирный: [.b][./b]
Наклонный: [.i][./i]
URL: [.url][/.url]
|
| |
|
|
|
|
|
|
|
для: smertnik
(01.05.2005 в 14:30)
| | Это можно осуществить примерно следующим образом
Код: <a href=# onClick="javascript:tag('[cod]\n', '\n[/cod]'); return false;">[cod][/cod]</a><br>
Жирный: <a href=# onClick="javascript:tag('[.b]', '[/.b]'); return false;" >[.b][/.b]</a><br>
Наклонный: <a href=# onClick="javascript:tag('[.i]', '[/.i]'); return false;">[.i][/.i]</a><br>
URL: <a href=# onClick="javascript:tag('[.url]', '[/.url]'); return false;" >[.url][/.url]</a><br>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function tag(text1, text2)
{
if ((document.selection))
{
document.form.message.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else document.form.message.value += text1+text2;
}
//-->
</script>
|
| |
|
|
|
|
|
|
|
для: cheops
(01.05.2005 в 20:27)
| | Спасибо. Я тоже брал этот код с форума но он не работал, забыл поменять имя формы, и думал что еще что то надо. | |
|
|
|
|
|
|
|
для: cheops
(01.05.2005 в 20:27)
| | А каким образом обрабатывать вставленные теги. Что-то рылся в кодах форума и запутался. Подскажите, в каком файле код обработки. | |
|
|
|
|
|
|
|
для: SMAlik
(05.07.2005 в 12:11)
| | Что-то все замолчали! | |
|
|
|
|
|
|
|
для: SMAlik
(07.07.2005 в 08:14)
| | $msg=str_replace("[.b]", "<B>", $msg);
RTFM=) | |
|
|
|
|
|
|
|
для: SMAlik
(07.07.2005 в 08:14)
| | Просто вопрос не по JavaScript, а по PHP - если бы он был задан на http://www.softtime.ru/forum/index.php?id_forum=1, то ответ был бы получен гораздо быстрее... Пусть текст сообщения будет в файле $postbody, тогда замену можно осуществить при помощи кода
<?php
$text = "[code]";
$lastocc = 0;
$sndocc = 1;
$result = "";
while($sndocc)
{
$fstocc = strpos($postbody,"[cod]",$lastocc);
$sndocc = strpos($postbody,"[/cod]",$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 + 5,$sndocc - $fstocc - 5),true)."</td></tr></table>";
$lastocc = $sndocc + 5;
}
else
{
$result .= nl2br(htmlspecialchars(substr($postbody,$lastocc,strlen($postbody)-$lastocc)));
break;
}
}
$postbody = $result;
$postbody = str_replace("[ b]","<b>",$postbody);
$postbody = str_replace("[ /b]","</b>",$postbody);
$postbody = str_replace("[ i]","<i>",$postbody);
$postbody = str_replace("[ /i]","</i>",$postbody);
$postbody=preg_replace("/\[ url\]\s*(\S*)\s*\[\/url\]/si",'<a href="\\1" target=_blank>\\1</a>',$postbody);
?>
|
Только следует пробелы в тэгах убрать, а ещё лучше взять этот код в исходых кодах форума LiteForum, который можно найти в разделе downloads нашего сайта http://www.softtime.ru/info/liteforum.php, файл utils/utils.php, функция post_work_up(), строка 23. | |
|
|
|
|
|
|
|
для: cheops
(07.07.2005 в 21:32)
| | спасибо | |
|
|
|
|
|
|
|
для: cheops
(07.07.2005 в 21:32)
| | очень полезная штука, но все тем, кто не понимает как это делается, я советую взять ее из Liteforum. | |
|
|
|
|
|
|
|
для: cheops
(01.05.2005 в 20:27)
| | а где в коде писать имя формы ?
Код: <a href=# onClick="javascript:tag('[cod]\n', '\n[/cod]'); return false;">[cod][/cod]</a><br>
Жирный: <a href=# onClick="javascript:tag('[.b]', '[/.b]'); return false;" >[.b][/.b]</a><br>
Наклонный: <a href=# onClick="javascript:tag('[.i]', '[/.i]'); return false;">[.i][/.i]</a><br>
URL: <a href=# onClick="javascript:tag('[.url]', '[/.url]'); return false;" >[.url][/.url]</a><br>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function tag(text1, text2)
{
if ((document.selection))
{
document.form.message.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else document.form.message.value += text1+text2;
}
//-->
</script>
|
| |
|
|
|
|
|
|
|
для: Alexx
(23.07.2005 в 15:08)
| | Это нужно в тэге <form> делать. | |
|
|
|
|
|
|
|
для: cheops
(23.07.2005 в 19:08)
| | не получаеться:
<body>
<form name="form" method="post" action="">
<textarea name="tag" id="tag"></textarea>
</form>
Код: <a href=# onClick="javascript:tag('[cod]\n', '\n[/cod]'); return false;">[cod][/cod]</a><br>
Жирный: <a href=# onClick="javascript:tag('[.b]', '[/.b]'); return false;" >[.b][/.b]</a><br>
Наклонный: <a href=# onClick="javascript:tag('[.i]', '[/.i]'); return false;">[.i][/.i]</a><br>
URL: <a href=# onClick="javascript:tag('[.url]', '[/.url]'); return false;" >[.url][/.url]</a><br>
<script language='JavaScript1.1' type='text/javascript'>
<!--
function tag(text1, text2)
{
if ((document.selection))
{
document.form.message.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else document.form.message.value += text1+text2;
}
//-->
</script>
</body>
|
| |
|
|
|
|
|
|
|
для: Alexx
(26.07.2005 в 16:28)
| | Надо вот так :
<body>
<form name="form" method="post" action="">
<textarea name="message" id="tag"></textarea>
|
| |
|
|
|