Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1824 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS][RegXP] Chercher et remplacer de façon stricte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS][RegXP] Chercher et remplacer de façon stricte

n°1702233
nycius
Ich liebe dich !
Posté le 14-03-2008 à 11:00:07  profilanswer
 

Salut,
 
Je cherche a faire quelque chose en RegXP mais je ny arrive pas trop.
J'ai un texte du type :

Code :
  1. chaine = "Salut le chat <a href="blop.html">est en</a> mousse, mais le chat est mort aussi. Le Chien est du coup malade et est en arret maladie.";


 
1. Il faut que j'arrive a prendre tous les mots de cette chaine SEULEMENT si ce mot n'est pas un lien.
 
2. J'aimerai remplacer tous les "est en" par : *** et les "est" par : +++  
 
Si qqun peut m'aider parce que la  :(

mood
Publicité
Posté le 14-03-2008 à 11:00:07  profilanswer
 

n°1702278
anapajari
s/travail/glanding on hfr/gs;
Posté le 14-03-2008 à 11:28:12  profilanswer
 

Code :
  1. chaine = chaine.replace(/<a.*?a>/g, '');
  2. chaine = chaine.replace(/est en/g, '***');
  3. chaine = chaine.replace(/est/g, '+++');


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1702295
nycius
Ich liebe dich !
Posté le 14-03-2008 à 11:34:11  profilanswer
 

j'avais trouvé ca :

Code :
  1. chaine = chaine.replace(/est en/g, '***');


 
Sauf que je passe par une fonction de ce type :
 

Code :
  1. function str_replace(search, replace, str) {
  2. var chaine = str;
  3. chaine = chaine.replace(/\b + search + \b/gi, replace);
  4. return chaine;
  5. }


 
derriere j'aimerai déclenché pour faire :  

Code :
  1. return str_replace('est en', '***', chaine)

n°1702407
nycius
Ich liebe dich !
Posté le 14-03-2008 à 14:17:50  profilanswer
 

Rien a faire ca passe pas :(
Je sais pas comment faire la.

n°1702415
gatsu35
Blablaté par Harko
Posté le 14-03-2008 à 14:24:30  profilanswer
 

[code]
function str_replace(search, replace, str) {
   return str.replace(new RegExp('\\b'+search'\\b', 'gi'), replace)
}

n°1702419
nycius
Ich liebe dich !
Posté le 14-03-2008 à 14:28:14  profilanswer
 

Erreur dans ton code et en plus ca ne fonctionne pas, j'ai essayé.

n°1702435
anapajari
s/travail/glanding on hfr/gs;
Posté le 14-03-2008 à 14:38:41  profilanswer
 

vire les \\b ça sert à rien.
 
Mais je comprends toujours pas l'intérêt de ré-écrire une fonction qui existe déjà.


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1702455
nycius
Ich liebe dich !
Posté le 14-03-2008 à 14:58:06  profilanswer
 

Je veux pouvoir remplacer certaines données par d'autres dans un grand paragraphe (cf exemple du haut).

n°1702463
anapajari
s/travail/glanding on hfr/gs;
Posté le 14-03-2008 à 15:13:53  profilanswer
 

mais ça j'ai bien compris :/ :/ :/
tu noteras d'ailleurs que ma 1ere réponse fait tout ce que tu demandais.
 
Maintenant ma dernière question est:
Quelle est l'intérêt d'écrire une fonction str_replace alors qu'on dispose déjà de String.replace :??:


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1702485
nycius
Ich liebe dich !
Posté le 14-03-2008 à 15:31:31  profilanswer
 

anapajari a écrit :

mais ça j'ai bien compris :/ :/ :/
tu noteras d'ailleurs que ma 1ere réponse fait tout ce que tu demandais.
 
Maintenant ma dernière question est:
Quelle est l'intérêt d'écrire une fonction str_replace alors qu'on dispose déjà de String.replace :??:


 
Tas réponse me donne cela pour du "static" entre guillemet.
Je refais une fonction car je veux modifier des choses de façon dynamique, je sort d'un flux Json des données a remplacer par d'autres dans ce paragraphe.

mood
Publicité
Posté le 14-03-2008 à 15:31:31  profilanswer
 

n°1702521
anapajari
s/travail/glanding on hfr/gs;
Posté le 14-03-2008 à 15:50:40  profilanswer
 

nycius a écrit :

Tas réponse me donne cela pour du "static" entre guillemet.
Je refais une fonction car je veux modifier des choses de façon dynamique, je sort d'un flux Json des données a remplacer par d'autres dans ce paragraphe.


Merci de m'expliquer la difference entre

Code :
  1. String.replace( pattern, replaceString)


et

Code :
  1. str_replace(pattern, replaceString, String)


Perso j'en vois pas des masses et je ne comprends donc pas l'intérêt de la fonction "refaite"


Message édité par anapajari le 14-03-2008 à 15:50:49

---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1702531
nycius
Ich liebe dich !
Posté le 14-03-2008 à 15:59:08  profilanswer
 

Je veux pouvoir gérer le mot a chercher via une variable.
Tu cherches un autre débat la, je men fou d'avoir la vrai ou la fausse, je veux juste arriver a pouvoir remplacer correctement mon pattern, sachant que ce pattern ne sera pas défini a la main mais via une variable dynamique.

n°1702537
gatsu35
Blablaté par Harko
Posté le 14-03-2008 à 16:05:47  profilanswer
 

nycius a écrit :

Je veux pouvoir gérer le mot a chercher via une variable.
Tu cherches un autre débat la, je men fou d'avoir la vrai ou la fausse, je veux juste arriver a pouvoir remplacer correctement mon pattern, sachant que ce pattern ne sera pas défini a la main mais via une variable dynamique.


faut passer le mot en regexp avec l'attribut 'g' pour global :  
 
 
mastring = mastring.replace(new RegExp(patter,'gi'), replaceString);

n°1702541
anapajari
s/travail/glanding on hfr/gs;
Posté le 14-03-2008 à 16:08:34  profilanswer
 

je cherche pas un autre débat, c'est juste que je ne comprends pas en quoi String.replace ne te convient pas [:spamafote]
Tu peux très bien faire quelque chose comme ça avec String.replace

Code :
  1. var patterns = [
  2.   { 'pattern' : '<a.*?a>', 'replace': '', 'options': 'gi'},
  3.   { 'pattern' : 'est en', 'replace': '***', 'options': 'g'},
  4.   { 'pattern' : 'est', 'replace': '+++', 'options': 'g'}
  5. ];
  6. for (i in patterns){
  7.   chaine = chaine.replace(new RegExp(patterns[i].pattern, patterns[i].options), patterns[i].replace);
  8. }
 

edit: [:benou_grilled] maxi-grilled

Message cité 1 fois
Message édité par anapajari le 14-03-2008 à 16:09:08

---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1702543
nycius
Ich liebe dich !
Posté le 14-03-2008 à 16:11:17  profilanswer
 

Gatsu35 > en fait c'est tout mon systeme qui merdouille.
Je vois pas comment je vais pouvoir faire ce que je veux :(

n°1702563
gatsu35
Blablaté par Harko
Posté le 14-03-2008 à 16:20:29  profilanswer
 

bah si tu veux passer par ta string replace :  
 
function str_replace(pattern, replaceString, string) {
    return string.replace(new RegExp(patter,'gi'), replaceString);
}
ça ca fera l'affaire, après comme on connait rien de ton bouzin on peut pas plus t'aider. ET si ton systeme merdouille, revoit la conception

n°1702565
nycius
Ich liebe dich !
Posté le 14-03-2008 à 16:22:38  profilanswer
 

anapajari a écrit :

je cherche pas un autre débat, c'est juste que je ne comprends pas en quoi String.replace ne te convient pas [:spamafote]
Tu peux très bien faire quelque chose comme ça avec String.replace

Code :
  1. var patterns = [
  2.   { 'pattern' : '<a.*?a>', 'replace': '', 'options': 'gi'},
  3.   { 'pattern' : 'est en', 'replace': '***', 'options': 'g'},
  4.   { 'pattern' : 'est', 'replace': '+++', 'options': 'g'}
  5. ];
  6. for (i in patterns){
  7.   chaine = chaine.replace(new RegExp(patterns[i].pattern, patterns[i].options), patterns[i].replace);
  8. }


 
edit: [:benou_grilled] maxi-grilled


 
 
Merci anapajari ca m'a bcp aidé ca.
 
Thanks aussi Gatsu35


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS][RegXP] Chercher et remplacer de façon stricte

 

Sujets relatifs
Remplacer plusieurs procédure par une seule dans un module[Résolu] Remplacer des caractères par d'autres dans un fichier texte
les elements de ma page n apparaissent pas de la meme facon partt :sDictionnaire : remplacer un mot par lien?
macro word remplacer image par texte[Réglé] remplacer la couleur orange par un autre orange
[JS] REmplacer la valeur d'un form, select ou option dynamiquementRemplacer les iframe contenant du php
Remplacer fonction mysql par odbc dans scriptUn Chrono à ma façon en VB6
Plus de sujets relatifs à : [JS][RegXP] Chercher et remplacer de façon stricte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR