2011-02-08 3 views

Répondre

13

Utilisez cette expression:

var str = 'I like [dogs], [cats], and [birds]'; 
alert(str.replace(/\[(.+?)\]/g, '<a href="#">$1</a>')); 
  • \[(.+?)\] demande un [ littéral, pour correspondre paresseusement et saisir quoi que ce soit, puis pour correspondre à une ] littérale. Remplacer par les éléments capturés inclus dans les étiquettes <a>. Le modificateur g signifie un remplacement global, c'est-à-dire trouver et remplacer chaque correspondance et pas seulement la première.

jsFiddle preview

+0

@ Trufa: Je dirais, loin de là. – BoltClock

+0

qui était la raison pour le "?", Commentaire disparu! – Trufa

+0

Excellente solution. Fonctionne parfaitement. – Shpigford

6

Il est une simple chaîne remplacer.

function tagIt(source) 
{ 
    return source.replace('[', '<a href="#">').replace(']', '</a>'); 
} 
Questions connexes