Вот появилась необходимость создать bb код и сталкнулся с такой проблемой как вставить между тегов выделенный текст если он есть, а если его нет то ставить курсор между этими тегами?
Вот что я делал:
HTML |
<script> function bbcode($code){ teg_open='['+$code+']'; teg_close='[/'+$code+']'; document.form.text.value+= teg_open; document.form.text.focus(); document.form.text.value+=teg_close; </script> <form name="form" action="index.php" method=POST> <a href="#" onClick="javascript:bbcode('b');">B</a> <textarea name="text"></textarea> </form> |
Цитата (stepan @ 26.05.2009 - 13:30) |
хочется все таки уметь самому делать это |
Код |
function getText() { if (ie) { return ((form["Post"].createTextRange && form["Post"].caretPos) ? form["Post"].caretPos.text : ''); } else { return form["Post"].value.substr(form["Post"].selectionStart, form["Post"].selectionEnd-form["Post"].selectionStart); } } |
Код |
function ubbCode(code) { if (form["Post"].createTextRange && form["Post"].caretPos) { var caretPos = form["Post"].caretPos; caretPos.text = code; } else { var sel1 = form["Post"].value.substr(0,form["Post"].selectionStart); var sel2 = form["Post"].value.substr(form["Post"].selectionEnd,form["Post"].value.length-form["Post"].selectionEnd); form["Post"].value = sel1+code+sel2 } } |
Код |
[img][/img] [b][/b] [i][/i] [spoiler][/spoiler] |
Цитата (gletscherl @ 27.05.2009 - 13:47) |
на выходе я просто заменяю эти теги на соответствующие им, только в html варианте (через str_replace) |
HTML |
<script> function bbcode($code){ teg_open='['+$code+']'; teg_close='[/'+$code+']'; document.form.text.value+= teg_open; document.form.text.focus(); document.form.text.value+=teg_close; </script> <form name="form" action="index.php" method=POST> <a href="#" onClick="javascript:bbcode('b');">B</a> <textarea name="text"></textarea> </form> |