je la chaîne suivante:JavaScript Handling Multiple Remplacer Matches
This *is* a *test*!
Je veux en gras les mots entourés par les caractères * (donc « est » et « test » dans l'exemple).
je le code JavaScript suivant:
var data = "This *is* a *test*!";
return data.replace(/\*(.*)\*/g, <b>$1</b>);
Lorsque la chaîne est retournée, je reçois le texte suivant:
This <b>is* a *test</b>!
Comment puis-je modifier le motif ou le code de base afin de faire la remplacement comme je le veux?
Vous n'avez pas vraiment besoin du modificateur 'i' dans cet exemple -'. * 'Correspond à n'importe quel majuscule ou minuscule, et' \ * 'n'est pas affecté par la casse. – redbmk
Cela est beaucoup plus difficile à faire si le texte provient de l'utilisateur (et non du système), car éviter les attaques XSS signifie soit une aseptisation lourde de la liste blanche, soit une technique n'utilisant pas de chaînes HTML. API à la place). – robocat