Javascript:
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;
}
Примеры:
htmlentities('Kevin & van Zonneveld');
'Kevin & van Zonneveld'
|
|
|
|
После варианта с массивом всех преобразований... поиском и заменой в php.js это с этим )... просто сказка...
совершенно не подходит для цели экранирования символов с целью предотвратить выполнение js, введенный пользователем в текстовое поле.
Что? С какой радости JS, введенный пользователем в поле будет выполняться?
прогнал ) обернул вставку данных в эту функцию. а скрипт продолжал выполняться, но косяк был не в этой функции, а в том. что у меня программа в двух местах текст вставляла
Переносы строк в MSIE не сохраняются, после прогона, через эту функцию. Рабочий вариант выше, в первом посте.
Вот пруфлинк http://jsfiddle.net/PbRNx/ , попробуйте запустить в MSIE.
чтобы сохранялись переносы в старых версиях msie замените 'div' на 'pre'