Besoin d'aide pour expression régulière

nikizim Messages postés 76 Statut Membre -  
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voila je cherche à remplacer certains mots d'une phrase. j'ai commencé à faire une regex en javascript mais elle ne fonctionne pas très bien. La voila :

var reg = new RegExp('\b(le|un)\b', 'ig');

Exemple :

--> la phrase suivante est un exemple.

je voudrais la transformée en :

--> phrase suivante est exemple.

Le problème, c'est que si j'enlève les \b, ça va m'afficher cela :

--> phrase suivante est exemp.

Et si met les \b, ça ne marche pas du tout.

Si je ne me trompe pas, les \b sont là pour dire que c'est un mot que recherche. non ?

Pouvez-vous m'aider ?

Merci beaucoup d'avance.
A voir également:

11 réponses

darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
 
Hum une question, pourquoi ne fait-tu pas ça en PHP ?
Ça serait infiniment plus simple...
0
nikizim Messages postés 76 Statut Membre 11
 
C'est lors de la validation d'un formulaire, que je fais en JS. Mais pourtant une regex en JS ou en PHP c'est la même technologie ? Non ?
0
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
 
Oui mais il y a une fonction PHP bcp plus simple : str_replace
Exemple :

<?php
$chaine = "J'aime les pommes"; //déclaration de la chaine
$chaine = str_replace('pommes', 'poires', $chaine); //on remplace "pommes" par "poires" dans la chaine "$chaine"
echo $chaine; //affiche "J'aime les poires"
?>
0
nikizim Messages postés 76 Statut Membre 11
 
Je pense qui s'il n'y a personne qui connait la solution en JS, je vais être obligé d'utiliser une partie de ta solution.

Ce qui m'ennuies, c'est que je vais être obligé de récupérer la valeur dans le JS, l'envoyer dans le php, récupérer la valeur php, pour la retraiter en JS et l'afficher.

Alors qui si le JS le faire directement, ça m'éviterais tout cela ;)

Merci pour cette première solution.

Y a t-il la même solution mais en JS ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nikizim Messages postés 76 Statut Membre 11
 
Bon je continu des fois que ça peut aider quelqu'un pour mon problème ;)

J'ai donc essayé la solution darkchristophetd en faisant communique JS avec PHP. J'ai exactement le même problème que j'ai mis dans mon premier post.

C'est-à-dire que, dès que le met les \b avant et après ma regex elle ne fonctionne plus et si je ne les mets plus, ça marche même dans les mots qui on les caractères que je demande.

J'extrais la valeur d'un champs texte qui est un éditeur type Tinymce. Est ce que le problème viendrais de la ?
0
nikizim Messages postés 76 Statut Membre 11
 
il y a personne qui n'a de solution ?
0
nikizim Messages postés 76 Statut Membre 11
 
MMMM comment dire ???

Je patauge toujours :)

personne ne peut m'aider ?
0
nikizim Messages postés 76 Statut Membre 11
 
Un bon vieux Up sauvage Pour dire que je ne vois vraiment pas
0
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
 
envoie ton code
0
nikizim Messages postés 76 Statut Membre 11
 
Mon code ressemble à ceci :

la fonction :
function supWords(text, words) {
	var reg = new RegExp('\b(' + words + ')\b', 'ig');
	var textWordsSupp = text.replace(reg, '');
	alert(textWordsSupp);
}

Qui est dans un fichier externe qui est importé dans l'entête de mon document.

Le code de test qui se trouve dans le document :
tinyMCE.triggerSave(true, true);
supWords(document.adminForm.texte.value, 'le, la');

Ce code est activé lors de la pression sur le bouton validé

le code HTML :
<textarea id="texte" class="mceEditor" style="display: none;" rows="5" cols="60" name="texte"/>

J'ai simplifier se code au Max car c'est un code généré en JS puisqu'il utilise JCE editor via Tinymce. Je n'est donc mis que le champ texte.
0
darkchristophetd Messages postés 1100 Date d'inscription   Statut Contributeur Dernière intervention   459
 
oula moi le JS j'y connais rien dsl
0