Самый быстрый способ экранировать теги HTML как объекты HTML?

Я пишу расширение Chrome, которое включает в себя выполнение части следующей работы: очистка строк, которые могут содержать HTML-теги, путем преобразования <, > и и до & lt; , & gt; и и , соответственно.

(Другими словами, то же самое, что и PHP htmlspecialchars (str, ENT_NOQUOTES) - Я не думаю, что есть какая-то реальная необходимость преобразовывать символы двойных кавычек.)

Это самая быстрая функция, которую я нашел до сих пор:

function safe_tags(str) {
    return str.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;') ;
}

Но все еще есть большая задержка, когда мне нужно пропустите через него несколько тысяч строк за один раз.

Может ли кто-нибудь это улучшить? Это в основном для строк от 10 до 150 символов, если это имеет значение.

(Одна из моих идей заключалась в том, чтобы не беспокоиться о кодировании знака «больше» - будет ли это реальная опасность?)

93
задан Lightness Races with Monica 26 May 2011 в 13:28
поделиться