Я пишу расширение Chrome, которое включает в себя выполнение лота следующего задания: дезинфекция строк, которые могут содержать теги HTML, путем преобразования <
, >
и &
в <
, >
и &
соответственно.
(Другими словами, так же, как PHP htmlspecialchars(str, ENT_NOQUOTES)
- я не думаю, что есть настоящая необходимость конвертировать символы двойной кавычки.)
Это самая быстрая функция, которую я нашел до сих пор:
function safe_tags(str) {
return str.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>') ;
}
Но до сих пор существует большая отсталость, когда мне нужно пробежать несколько тысяч строк за один раз.
Может ли кто-нибудь улучшить это? Это в основном для строк от 10 до 150 символов, если это имеет значение.
(Одна из моих идей заключалась в том, чтобы не беспокоиться о кодировании знака больше, чем знака - была ли какая-то реальная опасность?)