рони, можно, коды имеются. Вот один из примеров.
<?php
if($_POST) {
echo '<pre>';
print_r($_POST);
echo '</pre>';
}
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
.boxedit {
display: none;
}
.editor {
width: 500px;
height: 300px;
border: 1px solid #ccc;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>
var edt = '<div class="smiles"><img sml=":-*" src="smile/1.gif"><img sml=":)" src="smile/2.gif"><img sml=":(" src="smile/3.gif"></div><div class="editor" contenteditable="true"></div><textarea></textarea>';
$(function() {
$('span[data-msg]').click(function() {
var p = $(this.parentNode);
if(!p.next('.boxedit').length) {
$('<div class="boxedit">').insertAfter(p)
.append(edt)
.find('textarea').attr('name', 'comment['+$(this).data('msg')+']').hide()
.end()
.find('.smiles').on('click', 'img', function() {
document.execCommand('insertHTML', false, ' <img sml="'+this.getAttribute('sml')+'" src="'+this.src+'"> ');
$('.editor').focus()
})
.end()
.slideDown(300)
.find('.editor')[0].oninput = function() {
$(this).closest('form')
.find('textarea')
.val(this.innerHTML
.replace(/ /g,' ') //заменить неразрывное пространство
.replace(/<br>/g, '\n') //заменить html-перевод строки
.replace(/<img[^>]+>/g, function(i) { //смайлы
//заменить на мнемонику
//хотя могут быть нежелательные последствия
//что можно наблюдать например в Скайп, и в этом сообщении
//но можно воспользоваться ВВ-тегом
//а изображения смайлов могут иметь различные атрибуты
//которые можно обрабатывать здесь и подставляя их в ВВ
return i.match(/sml="([^"]+)"/)[1]
}))
}
}
})
});
</script>
</head>
<body>
<form autocomplete="off" method="post">
<p>text <span data-msg="123">Add comment</span></p>
<br><br><button>Send</button>
</form>
</body>
</html>
Это мне человек писал с форума под ником
laimas, мы с ним это ТЗ обсуждали в ПМ. Я скидывал скайп для связи, т.к. редко на форуме бываю, но человек так и не вышел на связь. Поэтому и пришлось создать в соответствующем разделе объявление.