Главная > JavaScript, Программирование > Code WTF: JavaScript HTML entities

Code WTF: JavaScript HTML entities

6 Июль 2009

Увидел у Вадима Войтюка в блоге задачку и задело. Это ж делается в одну строку! Ну максимум в две. 10 десять минут дела и один профтык с функцией escape() и все готово.

В общем вот что получилось:


var text = "'s<d\"f>g'q".replace(new RegExp("['\"<>\&]", 'g'), function(s) {
	return {'<':'&lt;','>':'&gt;','&':'&amp;','"':'&quot;','\'':'&#039;'}[s]; 
});
alert(text); // &#039;s&lt;d&quot;f&gt;g&#039;q

А запостил тут, потому что воевать с парсером каментов у него в блоге мне лень.

  1. 7 Июль 2009 в 04:00 | #1
    Регулярные выражения.
  2. 9 Июль 2009 в 15:55 | #2
    ага, а это уже минус скорости
  3. 9 Июль 2009 в 21:00 | #3
    @Chikey ты вообще оригинал читал? все методы (search,replace,test) используют регулярные выражения. У меня оно всего одно а в первоначальном коде на каждый символ по два!
  4. 23 Октябрь 2009 в 11:31 | #4
    Скорость в большинстве случаев не критична. Я для небольших проектов о скорости особенно не задумываюсь.
  5. 23 Октябрь 2009 в 11:44 | #5
    конечно, если страница грузится 3 минуты, то после этого уже не критично как быстро символы заменятся ;)
  6. 26 Октябрь 2009 в 09:18 | #6
    Это да :-) Главное чтобы потом еще сюрпризы не выдавало. Еще и 3 минуты ждать придется, пока мышка до крестика доедет, браузер закрыть
  7. 26 Октябрь 2009 в 14:17 | #7
    в нормальных браузерах предусмотрена защит от долго выполняющихся скриптов
Комментирование отключено.