Accueil > Forum > > > > interdire mots
interdire mots
jeudi 15 mars 2007 à 07:40:48 |
interdire mots

tonytruand
|
Bonjour à la communauté ! j'ai besoin de votre aide, en effet je cherche à retirer dans un texte, par exemple, tous les : le la les du en ect. J'ai pour se faire une fonction qui split le texte, compare chaque chaîne en nombre de caractères et d'équivalence (le = le mais le de lendemain n'est pas équivalent etc...). Or le traitement est beaucoup trop long, surtout si l'on considère que j'ai 700 pages à balayer régulièrement. Existerait il une expression régulière qui pourrait travailler plus rapidement ? ou un autre procédé ou une idée pour un traitement plus rapide ?
merci par avance
Voici ma fonction, elle est brut de pomme, alors excusez moi, mais elle fonctionne.
<html><head>
<script> function eclat(){ var mots = new Array('le','la','je','et','il','ils','au','les','on','ou','est','leur','leurs','en','du','des'); var ChaineDebut = document.getElementById('test3').value; var morceau=ChaineDebut.split(" ");
for (var a=0; a<morceau.length; a++) {
document.getElementById('test').value +=" "+document.getElementById('test2').value; document.getElementById('countMots').value =0;document.getElementById('countCaract').value =-1; document.getElementById('test2').value = morceau[a]; var ChaineEclat = document.getElementById('test2').value;
for (var i=0; i<mots.length; i++) {
var SousChaine=mots[i];
document.getElementById('countCaract').value=SousChaine.length; var ExpressRegul = new RegExp(SousChaine,"gi"); var trouve=ChaineEclat.search(ExpressRegul); document.getElementById('countMots').value=ChaineEclat.length;
if((trouve != -1)&&(document.getElementById('countCaract').value==document.getElementById('countMots').value)) {document.getElementById('test2').value ="";} } } } </script> </head>
<body>
résultat<textarea id=test cols=37></textarea><br>
transit<textarea id=test2 cols=37></textarea><br>
texte départ<textarea id=test3 cols=57>l administration lent changer latentes le donc les bons</textarea><br>
<input type='button' value=eclat onClick="document.getElementById('test3').value+=' '+'.';eclat();"><br>
countMots<input type=texte id="countMots" value=""><br>
motscles<input type=texte id="countCaract" value=""><br>
</body> </html>
[:D][:)]
|
|
jeudi 15 mars 2007 à 11:34:13 |
Re : interdire mots

bultez
|
Bonjour,
ch'tit exemple avec expression régulière
var mots = new Array('le','la','je','et','il','ils','au','les','on','ou','est','leur','leurs','en','du','des'); var tmp; var txt=document.getElementById('test3'); for ( var n=0;n<mots.length;n++ ) { tmp = new RegExp(mots[n]+' ','gi'); txt.value=txt.value.replace(tmp,''); }
une boucle malgré tout, mais je suis loin d'être un spécialiste ( de quoi que ce soit, et des expressions régulières en particulier ) ira-ce plus vite ? ionosai. on doit pourvoir faire largement mieux...
|
|
jeudi 15 mars 2007 à 17:39:26 |
Re : interdire mots

tonytruand
|
Bonsoir et tout d'abord merci pour l'exemple,
j'ai testé, mais comme avec d'autres essais que j'ai pu faire avec d'autres fonctions j'ai toujours le même problème de parties de mots sont retirées ???? C'est pour cela que je m'étais résolu à compter le nbre de caractère avant d'effacer le mot
en reprenant votre exemple :
<html><head>
<script>function ote(){ var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc'); var tmp; var txt=document.getElementById('test3'); for ( var n=0;n<mots.length;n++ ) { tmp = new RegExp(mots[n]+' ','gi'); txt.value=txt.value.replace(tmp,''); } }</script> </head><body> <input type=button value="retirer" onClick="ote();"><br>
<textarea id=test3 cols=80>Une activité effective minimale (y compris les stages de la formation professionnelle rémunérée) est exigée d'au
moins un des membres du couple ou de la personne isolée .</textarea><br><br>
Une activité effective minimale (y compris les stages de la formation professionnelle rémunérée) est exigée d'au moins un des membres du
couple ou de la personne isolée.
[:D][:)]
|
|
jeudi 15 mars 2007 à 18:48:31 |
Re : interdire mots

stfou
|
Bonjour, function ote() { var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc'); var text = document.getElementById('test3').value.split(" "); var text2=""; for(i=0;i<text.length;i++) { for(j=0;j<mots.length;i++) { if(text[i].toLowerCase()!=mots[j]){text2+=text[i]} } } document.getElementById('test3').value=text2; } Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
jeudi 15 mars 2007 à 18:51:58 |
Re : interdire mots

stfou
|
en fait, il sépare les mots par des espaces, il vérifi si le mot (majuscule/minuscule confondues) est égale au un des mots "interdits", si oui il ne l'ajoute pas sinon oui. Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
jeudi 15 mars 2007 à 19:00:48 |
Re : interdire mots

tonytruand
|
Salut,
Ok pour le principe (rectif sur un j++ au lieu de 2 i++ ligne : for(j=0;j<mots.length;i++)
mais en testant je me rends compte que les mots restant sont multipliés par xxxx ?
merci
<html><head>
<script>function ote() { var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc'); var text = document.getElementById('test3').value.split(" "); var text2=""; for(i=0;i<text.length;i++){
for(j=0;j<mots.length;j++){ if(text[i].toLowerCase()!=mots[j]){text2+=text[i]} } } document.getElementById('test3').value=text2; }</script> </head><body> <input type=button value="retirer" onClick="ote();"><br>
<textarea id=test3 cols=80>y compris les stages de la formation professionnelle rémunérée</textarea><br><br>
<textarea id=test2 cols=80></textarea>
[:D][:)]
|
|
jeudi 15 mars 2007 à 19:21:39 |
Re : interdire mots

stfou
|
Oui, oups... c'est pas mon jour  function ote() { var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc'); var text = document.getElementById('test3').value.split(" "); var text2=""; var go=true; for(i=0;i<text.length;i++){ for(j=0;j<mots.length;j++){ if(text[i].toLowerCase()==mots[j]){go=false} } if(go){text2+=text[i]} } document.getElementById('test3').value=text2; } Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
jeudi 15 mars 2007 à 20:04:56 |
Re : interdire mots

tonytruand
|
oh la !!
maintenant tout disparait ?
c'est sympas de me donner un exemple mais là tout s'efface
<html><head> <script> function ote() { var mots = new Array('le','la','je','et','il','ils','les','ou','est','leur','leurs','du','des','ne','de','voir','sont','donc'); var text = document.getElementById('test3').value.split(" "); var text2=""; var go=true; for(i=0;i<text.length;i++){ for(j=0;j<mots.length;j++){ if(text[i].toLowerCase()==mots[j]){go=false} } if(go){text2+=text[i]} } document.getElementById('test3').value=text2; }</script></head> <body> <textarea id=test3 cols=90>le la est donc revoir</textarea> <input type=button value="ttt" onClick="ote();">
[:D][:)]
|
|
jeudi 15 mars 2007 à 20:41:32 |
Re : interdire mots

stfou
|
remplace : if(go){text2+=text[i]} par :if(go){text2+=text[i];go=true;} Le travail n'a jamais tué personne, mais pourquoi prendre le rique ?
|
|
jeudi 15 mars 2007 à 21:50:59 |
Re : interdire mots

tonytruand
|
désolé; mais cela efface toujours tout, je vais y regarder de plus prêt ???
merci
[:D][:)]
|
|
Cette discussion est classée dans : mots, var, document, value, getelementbyid
Répondre à ce message
Sujets en rapport avec ce message
Problème cahce avec IE [ par goulouk ]
Bonjour,je voudrais savoir comment empécher de mettre une page en cache, ou alors obliger IE à recharger la page sans la prendre dans le cache.Je vous
incrementer [ par tonytruand ]
bonjour;j'ai un souci d'incrémentation. Dans une function ci dessous, j'aimerai que le i se traduise par 0 puis 1 puis 2 etc.J'ai bien essayer le for
Problème Firefox & document.getElementById [ par leviz ]
Bonjour,J'ai un problème avec Firefox, il ne me recupère pas les valeurs de mon formulaire et pourtant sous IE ça fonctionne très bien. alert(
envois de formulaire ajax [ par Annadrill ]
bonjour,voilà, j'aimerais modifier la fonction que je vous mets la dessous, de manière a pouvoir l'utiliser avec n'importe quel formulaire, en précisa
récuperer données table [ par anasjava ]
Je suis débutant en java et j'ai un petit souci, je remli une table par des donnée
Problème de script faisant ralentir ie [ par gregusse ]
Bonjour ! J'ai un problème sur un script que j'ai codé. J'ai le message de IE "un script fait ralentir internet explorer ...". Apparemment c'est à ca
insertion des donne javascripte dans une bdd [ par somapi ]
salue les amies j'ai un pFe qui consiste à crée une ma interactive bon, ma problème c'est que j'ai des donne dans ma base j aimerait bien récupère ces
Problème calcul "IF" (conditionnel) [ par canascat008 ]
Bonjour a tous, je suis un petit morpion dans le monde du codage et je bute sur une formule !! je suis en train de coder un formulaire pour calculer
Vérification formulaire [ par maha1987 ]
salut tout le monde, j'ai un formulaire html et css mais le controle javascript ne fonctionne pas j'ai essayé même avec le jquery mais toujours le mê
Redimentionnement et Repositionnement d'un DIV [ par fabiano13 ]
Bonjour, Je voudrais superposer un div d'une dimension précise sur une vidéo et lorsque je suis en mode "plein écran" ce div devrait se redimensionne
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|