Разбор специальных символов и преобразование в HTML (Escaping Strings) - PullRequest
2 голосов
/ 10 февраля 2010

У меня небольшая проблема с анализом текста, введенного в формате HTML. Успешно конвертировал открывающие и закрывающие теги и т. Д., Но как распознать «следующую строку (введенный текст)» в текстовой области?

Пожалуйста, помогите

<script type="text/javascript">

jQuery(function($) {

    $('#submit').click(function() {
    var htmlval = $('#textEntry').val();
    $('p.escape').text(htmlval);
    $('p.escape').escapeHtml();
    });


});

(function($) {


$.fn.escapeHtml = function() {
    this.each(function() {
        $(this).html(
            $(this).html()
                .replace(/"/g,"&quot;")
                .replace(/&/g,'&amp;')
                .replace(/</g,'&lt;')
                .replace(/>/g,'&gt;')
                .replace(/'/g,'&apos;')
        );
    });
    return $(this);
}

})(jQuery);

</script>

HTML выглядит следующим образом ..

<p class="escape"></p>
<br>
<textarea name="text" id="textEntry"></textarea><input type="submit" id="submit" value="submit" />

Ответы [ 2 ]

3 голосов
/ 10 февраля 2010

Не беспокойтесь о том, чтобы избежать текстовой клиентской стороны, если кто-то был злонамеренным, он просто отправил бы его вручную и обошел ваш необычный JavaScript. Перед тем как взаимодействовать с БД, удалите текстовый сервер.

2 голосов
/ 11 февраля 2011

есть встроенная функция javascript!

$.fn.escapeHtml = function() {
    return escape( $(this) );
}

Примечание: escape() не скрывается при использовании сущностей HTML. Он сбрасывается с использованием процентного кодирования, используемого в URI. Так что это отличается от того, о чем изначально просили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...