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