DevKB
Web Development Knowledge Base
HOME | TOP 20 | WRITE AN ARTICLE |
Sections :



RSS RSS Feed

You too, please publish your useful code snippets in any programming language :
write an article !


Valid HTML 4.0 Transitional

Plateforme d'envoi de gros fichiers en ligne
Dépannage site web
Blog infogérance
Hébergement e-mail

Olivier Ligny - - 11/03/2008 - vue 24398 fois

str_replace() en JavaScript - remplacer une chaine de caractère par une autre

Pour remplacer une chaine de caractère par une autre, dans une variable :

function str_replace(a, b, str) {
    return str_replace2(str, a, b);
}
function str_replace2(SRs, SRt, SRu) {
  /*
  **  Replace a token in a string
  **    s  string to be processed
  **    t  token to be found and removed
  **    u  token to be inserted
  **  returns new String
  */
  SRRi = SRs.indexOf(SRt);
  SRRr = '';
  if (SRRi == -1) return SRs;
  SRRr += SRs.substring(0,SRRi) + SRu;
  if ( SRRi + SRt.length < SRs.length)
    SRRr += str_replace2(SRs.substring(SRRi + SRt.length, SRs.length), SRt, SRu);
  return SRRr;
}

 

La fonction str_replace2 est la fonction d'origine que j'avais trouvé qqpart sur le net, et la fonction str_replace() permet d'avoir la même syntaxe qu'en PHP : str_replace(chaine à trouver, remplacement, chaine à analyser)


RANZI - 15/12/2008
Une grande partie des fonctions standards en PHP, sont disponibles en Javascript ici :
http://kevin.vanzonneveld.net/techblog/article/phpjs_licensing/
adfadsf - - 19/12/2008
Supert cool, merci beaucoup pour cette super fonction
- 26/05/2010
ne sert a rien

il suffit d'utiliser la fonction native

#
var str="foobar";
#
var val="foo";
#
var search='/'+val+'/i';
#
alert(str.replace(search, '<strong>'+val+'</strong>'));
Olivier - 26/05/2010
Sauf que la fonction native fonctionne avec des regexp, on ne peut donc pas l'utiliser avec n'importe quels textes, à moins de les échapper au préalable. Alors que la fonction proposée ici est indépendante des regexp et fonctionne tout le temps.
LOIC H - 02/11/2010
chaine='tata';

chaine2=chaine.replace('a','o');

alert(chaine2); // affichera toto !
Didine - 15/12/2011
Loupé, ça affiche "tota"...
Arrch - 31/01/2012
@Loic hahahaha il teste même pas un bout de code si court que ça avant de l'affirmer ='D
Arrch - 31/01/2012
blagues à part, faut passer par une regexp comme le dit un mec plus haut qui au passage a compliqué l'écriture de la regexp avec ses quotes et concaténations de partout xD

alert('tata'.replace(/a/g, 'o'));


Write a comment :
Your name :     E-mail (optional) :

AntiSpam : what animal is visible on this picture ? :

Nos partenaires : iPhone 8 Cases & Protection