Показать сообщение отдельно
  #1 (permalink)  
Старый 02.08.2015, 14:29
Интересующийся
Отправить личное сообщение для Palama Посмотреть профиль Найти все сообщения от Palama
 
Регистрация: 24.06.2015
Сообщений: 16

Как лучше сделать функцию обработки строки
Допустим есть потребность вывести спецсимволы.
можно сделать так
var entityMap = {
    "&": "&",
    "<": "&lt;",
    ">": "&gt;",
    '"': '&quot;',
    "'": '&#39;',
    "/": '&#x2F;'
  };

  function escapeHtml(string) {
    return String(string).replace(/[&<>"'\/]/g, function (s) {
      return entityMap[s];
    });
  }

alert(escapeHtml('<html>'));

т.е. объявились две левые сущности в пространстве имён

Вопрос: не лучше ли сделать так? В чем минусы такого способа?

String.prototype.escapeChars = function() { 
	String.prototype.entityMap = String.prototype.entityMap || {
		"&": "&amp;",
		"<": "&lt;",
		">": "&gt;",
		'"': '&quot;',
		"'": '&#39;',
		"/": '&#x2F;'
	 };
	return this.replace(/[&<>"'\/]/g, function (s) {return String.prototype.entityMap[s];});
}
  
alert('<html>'.escapeChars());

Последний раз редактировалось Palama, 02.08.2015 в 22:40.
Ответить с цитированием