function htmlentities(s){ // Convert all applicable characters to HTML entities
//
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
var div = document.createElement('div');
var text = document.createTextNode(s);
div.appendChild(text);
return div.innerHTML;
}
После варианта с массивом всех преобразований... поиском и заменой в php.js это с этим )... просто сказка...
совершенно не подходит для цели экранирования символов с целью предотвратить выполнение js, введенный пользователем в текстовое поле.
Что? С какой радости JS, введенный пользователем в поле будет выполняться?
прогнал ) обернул вставку данных в эту функцию. а скрипт продолжал выполняться, но косяк был не в этой функции, а в том. что у меня программа в двух местах текст вставляла
Переносы строк в MSIE не сохраняются, после прогона, через эту функцию. Рабочий вариант выше, в первом посте.
Вот пруфлинк http://jsfiddle.net/PbRNx/ , попробуйте запустить в MSIE.
чтобы сохранялись переносы в старых версиях msie замените 'div' на 'pre'