2011-08-08 3 views
2

Est-il possible de mettre en évidence (ou de faire quelque chose) des mots spécifiques, ou des expressions régulières?Mettez en surbrillance des mots spécifiques avec CSS/JavaScript

Je vais utiliser une solution non-javascript ici, mais ce n'est peut-être pas possible.

+0

Avez-vous besoin de manipuler du texte qui dépasse les limites des éléments? Par exemple, recherchez "foobar" dans '

foo bar

'? –

+0

@Tim Down, non, tout est juste dans un grand div sans formatage. – penguinrob

Répondre

2

Vous aurez besoin de JavaScript pour réaliser cette opération. Je recommande d'utiliser un tag strong plutôt que l'étendue, mais l'une ou l'autre fonctionnera. Cela remplacera tous les premiers mots. Vous pouvez remplacer le ^\w par ce qui est significatif.

$('a').each(function() { 
    var me = $(this); 
    me.html(me.text().replace(/(^\w+)/,'<strong>$1</strong>')); 
}); 
+0

Merci, a bien fonctionné! – penguinrob

0

Non ce n'est pas, vous devrez utiliser des travées.

0

Vous pouvez espérer mieux encapsuler les mots d'une durée avec une classe pour faire une sorte de mise en évidence. Vous pouvez faire ce côté serveur en fonction des résultats de recherche en utilisant une simple comparaison de regex pour remplacer la chaîne recherchée par cette chaîne encore enveloppée d'un span. Pour autant que je sache, il n'est pas possible de le faire uniquement avec CSS.

Questions connexes