Bom pessoal to com uma duvida de como fazer, todos ou quase todos aqui usam twitter ou facebook, quando vamos digitar uma hashtag o fundo do texto vai ficando azul (tem com @ também só não bati o print.), eu estou tentando fazer isso em js usando o .keyup(); em uma div[contenteditable=true], estou fazendo com o php passando o texto por jQuery e retornando o texto caso haja @ e adicionando uma class e um span, funciona mais sempre ele retorna o texto a cursor text q fica na div[contenteditable=true] ele sempre volta pro inicio(lado esquerdo) da div e quando boto no começo o texto(lado direito) edita e talz mais volta pro começo o cursor(lado esquerdo) denovo.
Sei que pode haver outro método mais já pesquei é não achei nada parecido.

COD JS
Código:
$(document).ready(function(){
        $("#text_publica").keyup(function(){
            var text = $("#text_publica").text();
            var dataString = 'nome='+text;
            $.ajax({
                type: 'post',
                url: 'pages/validate_nm.php',
                data: dataString,
                cache: false,
                success: function(data){
                    $("#text_publica").html(data);
                    $("#text_publica").focus();
                }
            });
        });
    });
COD PHP
Código:
<?php
    session_start();
    include('main_bd.php');
    include 'data.class.php';


    if(isset($_POST['nome'])){
        $txt = $_POST['nome'];
        $txt = preg_replace('/\B@([\d\w_]+)/i', '<span class="tag">$0</span>', $txt);


        echo $txt;
    }
?>
Me veio um interesse em fazer isso tive essa ideia em fazer com jquery+php não sou um expert nessa area de js mais me viro quando é preciso, nesse caso preciso da ajuda de vocês, se souberem fazer de outro jeito ou fazer que o cursor text sempre fique a frente da ultima caractere logo no final do texto já e um começo. Obrigado desde já.,[]'s