Expressions régulières et replace

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Expressions régulières et replace

par Sephiroth Lune » 06 nov. 2006, 12:38

le problème, c'est que si je ne passais pas d'expression régulière avec g à la fin, je n'avais pas toutes les occurences de ma chaine qui étaient remplacées :?

par naholyr » 06 nov. 2006, 12:26

Dans un cas simple comme celui-là, tu avais avantage à ne pas passer une expression régulière /\?\?\?/g, auquel cas la méthode String.prototype.replace() de Javascript se comporte comme preg_replace() de PHP, mais plutôt une simple chaîne et elle se comporte alors comme str_replace() de PHP.

par Sephiroth Lune » 06 nov. 2006, 10:22

oki merci :wink:

finalement je me suis fait une fonction qui fait un remplacement de toutes les occurences, et qui ne prend pas les expressions régulières :?

par Cyrano » 06 nov. 2006, 08:23

Le "?" est un caractère réservé des expressions régulière. Pour l'utiliser littéralement, il faut l'échapper. Essaye avec :

Code : Tout sélectionner

html = html.replace(/(:\?\?\?:)/g, '<img src="images/smiles/icon_confused.gif" border="0" />');

Expressions régulières et replace

par Sephiroth Lune » 06 nov. 2006, 00:20

salut à tous :D

je cherche à comprendre comment fonctionnent les expressions régulières, mais j'ai vraiment du mal ... une ligne comme celle-ci plante, et me dit "Invalide quantifier ?:)" :

Code : Tout sélectionner

html = html.replace(/(:???:)/g, '<img src="images/smiles/icon_confused.gif" border="0" />');
ce que je veux, c'est remplacer ":???:" par le code "<img ...". en fait, je voudrais même un replace qui n'utilise pas les expressions régulières, ça me sert pas dans ce cas là ...

quelqu'un a une idée ?