Перенос строки и удаление html символов

Рейтинг: 0Ответов: 1Опубликовано: 21.11.2014

На аяксе построена отправка комментов. В данном языке не силён. Нужно чтобы отправленный коммент отобразился как есть - с переводом строк и без чтения хтмл символов

В PHP это решается одной строкой

echo nl2br(htmlspecialchars($comment));

Но задача сразу же на аяксе вывести написанный комм. Что подправить?

<script type="text/javascript">
$(function() {
$("#send").click(function(){
var author = $("#author").val();
var message = $("#message").val();
var id = $("#id").val();
    $.ajax({
        type: "POST",
        url: "/actions/commentadd.php",
        data: {"author": author, "message": message, "id": id},
        cache: false,                       
        success: function(response){
var messageResp = new Array('Комментарий успешно отправлен','Комментарий не отправлен. Сообщите об ошибке администрации','Нельзя отправить пустой комментарий');
var resultStat = messageResp[Number(response)];
if(response == 0){
$("#message").val("");
$("#nocomments").hide();

$("#commentBlock").append("<blockquote rel='tooltip_bottom' data-placement='left' title='Ваш новый комментарий'><p><?php echo $u_login; ?></p><footer>"+message+"</footer></blockquote>");
            }
            $("#resp").text(resultStat).show().delay(1500).fadeOut(800);

        }
    });
    return false;

});
});
</script>

Ответы

▲ 1Принят

@Rammsteinik, вы можете заменить переносы на <br>:

$("#commentBlock").append("...<footer>"+message.replace(/\n/g,"<br>")+"</footer>...");

Или добавить стилей:

#commentBlock footer {white-space: pre-wrap;}