Probleme de Regex

Signaler
Messages postés
4
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
21 février 2007
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Voila j'ai de nouveau des problemes de regex auquel j'ai pas trouvé de réponses en faisant des test et des recherche, je les met tous dans ce post >_<

1) perte d'un /

Ce code genere bien les smiley mais sans le / pour fermer la balise image

data = data.replace(reg, '$1$2');
//

2) un span ne meur jamais..

alert(comment[i]); // par exemple : ' in test'
comment[i].replace(/(.*)<\/span>/g,'$1');
//aucune modif sur comment[i]

3) bug mystique ^^° .. :

j'ai une chaine :
<ol><li>blabla</li>

je fais

alert(maChaine); //
<ol><li>blabla</li>

k.innerHTML =maChaine;
alert(maChaine);//
<ol><li>blabla</li>


j'ai remplacé les code par des quote , sa merde pareil par contre sa marche avec div..

Meme si vous repondez pas au trois ou que vous avez une solution mais totalement différente de ma technique , aidez moi s'vous plait, j'ai deja poster sur d'autre forum de dev et pas de reponse

Merci d'avance pour vos reponses.

5 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

1) il y a quoi dans data ? dans reg ?
2)   ereur de syntaxe ( au moins )
3)   c'est quoi k ? et qu'est-ce qui plante ?

    avec FF, regarder la console d'erreur, mieux : intaller Firebug
    avce IE, activer le deboggage, mieux : installer le debogger

<hr />


Cordialement            Bul         [mon Site]     [M'écrire]  




<hr />
Messages postés
4
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
21 février 2007

Bonjour a toi bultez

1) soit data une chaine quelconque , exemple : " ;)  bonjour tout le monde :) "
et reg ne regex definit dans une boucle :

 for (i= 0;i<smilies.length;i++){
        eval('reg = /(\\s|\\r|^|&gt;)'+smilies[i]+'(\\s|\\r|$|&lt;)/g');
        data = data.replace(reg, '$1$2');
    }

2) je me doute que c'est une erreur de synthaxe mais je me demande laqu'elle ^^°

3) soit k un div recupérer par une fonction qui varie suivant ie / ff. Ce qui plante est la balise code qui passe tout au debut de la chaine comme je l'ai marqué dans les alert ..

alert(maChaine); //
<ol><li>blabla</li>

k.innerHTML =maChaine;
alert(maChaine);//
<ol><li>blabla</li>


Sinon : j'ai firebug et debogger, ils n'indiquent aucune erreur dans le js.. >_<
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
B
onjour...
une seule réponse sur les trois questions

1) perte d'un /
je laisse répondre The Bultez le grand spécialiste des RegEx, voir lien ci dessous également...

2) un span ne meurs jamais..
alert(comment[i]); // par exemple : ' in test'
var szTmp = comment[i].replace(/(.*)<\/span>/g,'$1');
alert( szTmp );
//aucune modif sur comment[i]

le lien qui dit tout ou presquehttp://fr.selfhtml.org/javascript/objets/string.htm

3) bug mystique ^^° .. :
 !?! j'ai testé est pas de problème

d'une façon générale il est de bon ton de faire précéder les caractères spéciaux de \ dans les textes envoyer en javascript
exemple
  Obj.innerHTML = 'Bonjour Vous<\/b>';

;0)
Messages postés
4
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
21 février 2007

Le 3 est vraiment mystique , j'ai pas du tout compris le premier :/

le 2 , j'hallucine , j'avais pas réatribuer la valeur >_< ?! *boulet*

et pour le 1 j'attend donc la reponse de The Bultez

Domo arigato gozaimasu !
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
B
onjour...

As tu essayé un truc de ce style...

for( i = 0; i < smilies.length; i++){
  var szFind = new RegExp( ('\\' +smile[i]), "gi");
  data = data.replace( szFind, '');
}

;0)