Je me suis essayé, peut-être que je me suis compliqué la vie pour rien.
Mais j'ai toujours un erreur. Mon code vérifie bien chaque mot de la phrase et est capable de trouver le ou les mots que je veux remplacer.
voici mon code :
<% function filtrerAdresse (mot) if ((instr(1,mot,"http://",0) <> 0) OR (instr(1,mot,"www.",0) <> 0)) then mot = replace(Space(len(mot)), " ", "*") response.write(" ----->filtrage!<br>") elseif ((instr(1,mot,"@",0) <> 0) AND (instr(1,mot,".",0) <> 0)) then mot = replace(Splace(len(mot)), " ", "*") response.write(" ----->filtrage!<br>") else response.write(" ----->mot OK<br>") end if filtrerAdresse = mot end function function filtrer(texte) dim nCurseur1, nCurseur2, chaine, nouvText nCurseur1 = 1 nCurseur2 = 1 while (nCurseur2 <= len(texte)) while ((Mid(texte,nCurseur2,1) <> " ") AND (nCurseur2 <> len(texte))) nCurseur2 = nCurseur2 + 1 wend chaine = MID(texte, nCurseur1, nCurseur2) response.write("mot à vérifier: "&chaine&"") nouvText = filtrerAdresse(chaine)
replace texte, chaine, nouvText nCurseur2 = nCurseur2 + 1 nCurseur1 = nCurseur2 wend filtrer = texte end function dim phrase phrase = "salut www.rds.ca bye" response.write("<br><br>" & filtrer(phrase))
%>
Donc ici on veut trier la chaine "salut www.rds.ca bye" je m'attends avec le response.write de la fin à obtenir : "salut ********** bye"
ce qui n'est pas le cas, j'obtiens la même chaine du début.
pourtant à l'exécution de mon code avec les response.write, ca me donne ceci : mot à vérifier: salut ----->mot OK mot à vérifier: www.rds.ca bye ----->filtrage! mot à vérifier: bye ----->mot OK
donc il trouve comme il faut l'expression à remplacer. J'avais ajouté précédemment d'autres response. la fonction filtrerAdresse retourne comme il faut le *********** que je compte obtenir.
c'est la ligne "replace texte, chaine, nouvText" qui semble faire défaut. c'est elle qui ne veut pas insérer mes ********** à la place. on dirait qu'il n'est pas capable de faire la vérification de la variable chaine.
car j'ai fait le même test en mettant seulement "www.rds.ca" comme phrase dans l'exécution de mon code et ca ne fonctionne toujours pas. J'ai fait une comparaison entre texte (qui vaut "www.rds.ca") et chaine (qui vaut aussi "www.rds.ca"), et ca me dit que les 2 termes ne sont pas identique. Pourtant je les affiche à l'écran et vérifie le nombre de caractères et c'est tout identique.
quelqu'un peut m'aider?
|