Короче, панелька для LORCODE, чтоб удобнее было форматировать.
function intag (thetag, argument) {
var textarea = document.getElementById("msg");
/*
if (textarea.selectionStart === undefined) { // Internet Explorer - не тестировал
var textRange = document.selection.createRange ();
var rangeParent = textRange.parentElement ();
if (rangeParent === textarea) {textRange.text = "[" + thetag + argument + "]" + textRange.text + "[/" + thetag + "]";}
}
*/
if (!argument){argument="";} else {argument=" "+argument;}
textarea.value = textarea.value.substring (0, textarea.selectionStart) +
"[" + thetag + argument + "]" +
textarea.value.substring (textarea.selectionStart, textarea.selectionEnd) +
"[/" + thetag + "]" +
textarea.value.substring (textarea.selectionEnd);
}
function fix () {
var textarea = document.getElementById("msg");
if (textarea.selectionStart != textarea.selectionEnd) {a = textarea.value.substring (textarea.selectionStart, textarea.selectionEnd);}
else {a = textarea.value;}
/*
a = a.replace(/</g, "<");
a = a.replace(/>/g, ">");
//Смысл, правда именно в этих строчках был, но нам это не надо
*/
a = a.replace(/\(тм\)|\(ТМ\)|\(tm\)|\(TM\)/g, "™");
a = a.replace(/\([cC]\)/g, "©");
a = a.replace(/\([rR]\)/g, "®");
a = a.replace(/\([fF]\)/g, "£");
a = a.replace(/\([eE]\)/g, "€");
a = a.replace(/ - /g, " — ");
textarea.value = textarea.value.substring (0, textarea.selectionStart) + a + textarea.value.substring (textarea.selectionEnd);
}
function fixq1 (){
var textarea = document.getElementById("msg");
if (textarea.selectionStart != textarea.selectionEnd) {a = textarea.value.substring (textarea.selectionStart, textarea.selectionEnd);}
else {a = textarea.value;}
a = a.replace(/\"([\s\S]*)\"/gim, '«$1»');
textarea.value = textarea.value.substring (0, textarea.selectionStart) + a + textarea.value.substring (textarea.selectionEnd);
}
function fixq2 (){
var textarea = document.getElementById("msg");
if (textarea.selectionStart != textarea.selectionEnd) {a = textarea.value.substring (textarea.selectionStart, textarea.selectionEnd);}
else {a = textarea.value;}
a = a.replace(/\"([\s\S]*)\"/gim, '“$1”');
textarea.value = textarea.value.substring (0, textarea.selectionStart) + a + textarea.value.substring (textarea.selectionEnd);
}
function br (){
var textarea = document.getElementById("msg");
textarea.value = textarea.value.substring (0, textarea.selectionStart) + "[br]" + textarea.value.substring (textarea.selectionEnd);
}
Над msg (для LORCODE):
<div class="atag">
<a href='javascript:intag ("b");' title="Жирный"><b>[b]</b></a>
<a href='javascript:intag ("i");' title="Наклонный"><i>[i]</i></a>
<a href='javascript:intag ("strong");' title="Жирный"><strong>[strong]</strong></a>
<a href='javascript:intag ("em");' title="Наклонный"><em>[em]</em></a>
<a href='javascript:intag ("s");' title="Зачеркнутый"><s>[s]</s></a>
<a href='javascript:intag ("u");' title="Подчеркнутый"><u>[u]</u></a>
<a href='javascript:br();' title="Перевод строки">[br]</a>
<a href='javascript:intag ("url");' title="Линка">[url]</a>
<a href='javascript:intag ("quote");' title="Цитата">[quote]</a>
<a href='javascript:intag ("code");' title="Код">
</a>
<a href='javascript:fix ();' alt="Превратить знаки и обозначения в соответствующие спец. символы "> fix </a>
<a href='javascript:fixq1 ();'>«»</a>
<a href='javascript:fixq2 ();'>“”</a>
</div>
Стиль (для Black):
.atag a {text-decoration: none; background-color:#333;}
© Я (WTFPL).
За быдлокод особо не ругайте, я с js не особо...