БлогNot. strip_tags и trim на Javascript

strip_tags и trim на Javascript

То есть, удаление тегов HTML и лишних лидирующих (завершающих) пробелов в строке на Javascript, готовых для всех целей функций нету. Похоже, как обычно, лучшими оказываются самые простые решения, в инете что-то сложновато :)

function strip_tags (string) {
 return string.replace(/<\/?[^>]+>/gi, '');  
} 

function alltrim(string) {
 return string.replace (/(^\s+)|(\s+$)/g, "");
}

С первой из функций, вроде бы, не возникло проблемы с отдельно стоящими знаками "<" или ">", вот из этого 1 < длинная_ строка... она длинную строку не пропустит :)

 Ну и заодно использовал в этой статье

Регулярные выражения к использованию не обязательны, например, удалить все лишние пробелы из строки (т.е., пробелы в конце и начале, а также больше одного пробела между словами) можно и так:

function alltrim(s) {
 var l=s.length;
 var t='',c,c0=' ';
 for (var i=0; i<l; i++) {
  c=s.substring(i,i+1);
  if (c==' ') {
   if (c0==' ') continue;
  }
  c0=c;
  t+=c;
 }
 l=t.length;
 if (t.substring(l-1,l)==' ') t=t.substring(0,l-1);
 return t;
}

Или с помощью двух Regexp, первый удалить все лишние разделители между словами, второй - лишние разделители в начале и конце строки, если такие остались:

function alltrim(string) {
 return string.replace (/\s+/g, " ").replace(/(^\s*)|(\s*)$/g, '');
}

Ну и учтите, что простой прототип функции trim в обновлённых стандартах JavaScript уже есть.

17.05.2010, 12:03 [11521 просмотр]


теги: программирование javascript

К этой статье пока нет комментариев, Ваш будет первым