2011-02-08 2 views

ответ

13

Используйте это выражение:

var str = 'I like [dogs], [cats], and [birds]'; 
alert(str.replace(/\[(.+?)\]/g, '<a href="#">$1</a>')); 
  • \[(.+?)\] просит буквального [, лениво сопрягать и захватить что-либо, то, чтобы соответствовать буквальное ]. Замените захваченные вещи, заключенные в теги <a>.

  • Модификатор g означает глобальную замену, то есть находить и заменять каждое совпадение, а не только первое.

jsFiddle preview

+0

@Trufa: Я бы сказал, далек от этого. – BoltClock

+0

, что стало причиной «?», Комментарий ушел! – Trufa

+0

Отличное решение. Работает отлично. – Shpigford

6

Это простая строка замены.

function tagIt(source) 
{ 
    return source.replace('[', '<a href="#">').replace(']', '</a>'); 
} 
Смежные вопросы