Fonction replace pour remplacer les plus "+" dans variable url [Résolu]

Messages postés
140
Date d'inscription
mardi 3 juin 2003
Dernière intervention
20 août 2012
- - Dernière réponse : cs_hdh
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Dernière intervention
20 août 2012
- 18 août 2009 à 18:54
Bonjour,
Je sue sur une fonction javascript qui remplacerait les signes "+" en "espaces" (pour les afficher dans ma page en javascript)
En effet mon url est de type
www..../page.html?nom=tom&adresse=32+rue+Popol+92300+Ville

J'ai pondu un truc qui marche quand je veux remplacer d'autres lettres par contre quand je veux remplacer des "+" ça ne fonctionne plus...


var plus ="i"; // fonctionne
var plus ="+"; // fonctionne pas

var reg=new RegExp(plus, "g");
tabParam[tabTemp[0]]=tabTemp[1].replace(plus, "espace_espace"); 


Je me prends la tête car il y a une fonction toute faite pour cela ? il faut échapper ce caractère ? bref je suis perdu

Au plaisir de vous lire, vous les codeurs fous ;-) toutes les idées sont les bienvenues : mon poids en chocolat pour celui qui trouve la solution !!

(je ne peux le faire qu'en js et pas en php.. domage)

le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Dernière intervention
2 février 2015
3
Merci
donc, par exemple :

[?num_support_cm=453543&datexp=2009-04-10&civ=Madame&nom=Durand+dupré&prenom=Jean+Pierre&nbpts=12&lib_entite=Seine sur Marne&lib_adr001=133&lib_adr002=impasse du Loup&lib_adr003=&cod_pst_mag=75011&lib_ville_mag=Paris&img1=ampoule3.jpg&img2=stores2.jpg exemple de lien pour afficher les variables]

<script>
function PrmUrl()
{ var prm = new Array();
var tmp = unescape(window.location.search).substr(1).split("&");
var inter;
for ( i=0; i<tmp.length; i++)
{ inter=tmp[i].indexOf("=");
if ( inter>=0 )
{ prm[tmp[i].substr(0,inter)]=tmp[i].substr(inter+1) }
else { prm[tmp[i]]=""; }
}
return prm;
}
if ( window.location.search )
{ var $_GET=PrmUrl();
alert($_GET['nom'].replace(/\+/,' '));
}
</script>

mais bon...
le but ???

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de Bul3
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Dernière intervention
2 février 2015
0
Merci
Bonjour,
le + est un caractère significatif dans
une expression régulière
il faut "l'échapper"
exemple :
	var tmp="www..../page.html?nom=tom&adresse=32+rue+Popol+92300+Ville ";
alert(tmp.replace(/\+/g,' '));

Cordialement [mon Site] [M'écrire] Bul
Commenter la réponse de Bul3
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Dernière intervention
20 août 2012
0
Merci
Bonjour Bul !
Grand merci pour ton aide : j'ai comme l'impression que tu me viens souvent en aide quand je poste sur le forum.. serais tu le SaintBernard du Javascript ?
Grand merci encore !

le code que j'ai intégré est donc
			tabParam[tabTemp[0]]=tabTemp[1].replace(/\+/g,' ');

H

le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
Commenter la réponse de cs_hdh
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Dernière intervention
2 février 2015
0
Merci
>>tu me viens souvent en aide
je ne te vise pas en particulier ;o)
disons que j'ai quelques disponibilités
et que le Flux RSS des messages CS aide
à être prévenu
mais être un saint "je ne sais quoi" pour
un athée, ce serait un grenier (**)


(**) ou un comble ? je ne sais plus
Commenter la réponse de Bul3
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Dernière intervention
20 août 2012
0
Merci
hello, je me suis un peu précipité : cela fonctionne parfaitement bien sous IE mais pas sous FFox.. (voir ligne 16 17) j'ai louppé quelque chose ??
Désolé de remettre cela sur la tas :-)
D'avance merci pour ton aide "GrenierBernard" :-)






function ParamExtract() {
url = window.location.href;
var exp=new RegExp("[&?]+","g");
var exp2=new RegExp("[=]+","g");
var tabNom=url.split(exp);
var tabParam=new Array();
if (tabNom!=null) {
for (var i=1;i
Commenter la réponse de cs_hdh
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Dernière intervention
2 février 2015
0
Merci
possible d'avoir uniquement l'extrait qui cloche ?
parce que là...
Commenter la réponse de Bul3
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Dernière intervention
20 août 2012
0
Merci
euh oui là.... désolé :-)
encore merci pour ton aide !
H
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function ParamExtract() {
  url = window.location.href;
  var exp=new RegExp("[&?]+","g");
  var exp2=new RegExp("[=]+","g");
  var tabNom=url.split(exp);
  var tabParam=new Array();
  if (tabNom!=null) {
   for (var i=1;i<tabNom.length;i++){
    var tabTemp=tabNom[i].split(exp2);
//    tabParam[tabTemp[0]]=tabTemp[1];	// fonctionne  sous FFox352 et IE7
tabParam[tabTemp[0]]=tabTemp[1].replace(/\+/g,' ');	// fonctionne pas sous FFox 352
   }
  }  return tabParam;
 }
var urlParam = ParamExtract();
</script>
</head>

[?num_support_cm=453543&datexp=2009-04-10&civ=Madame&nom=Durand+dupré&prenom=Jean+Pierre&nbpts=12&lib_entite=Seine sur Marne&lib_adr001=133&lib_adr002=impasse du Loup&lib_adr003=&cod_pst_mag=75011&lib_ville_mag=Paris&img1=ampoule3.jpg&img2=stores2.jpg exemple de lien pour afficher les variables]

<script language=javascript>
if(urlParam['civ']) 			{document.write ("
"+unescape(urlParam['civ']));} 
if(urlParam['prenom']) 			{document.write (" "+unescape(urlParam['prenom']));} 
if(urlParam['nom']) 			{document.write (" "+unescape(urlParam['nom']));}
</script>

</html>





le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
Commenter la réponse de cs_hdh
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Dernière intervention
2 février 2015
0
Merci
ben...avec l'exemple, chez moi,
c'est IE à qui ça ne plait pas,
avec FF tout baigne.
je serais curieux de comprendre le but de la manoeuvre....
étudier les paramètres transmis ???
regardez ici alors
Commenter la réponse de Bul3
Messages postés
140
Date d'inscription
mardi 3 juin 2003
Dernière intervention
20 août 2012
0
Merci
Merci pour ta disponibilité ! cela fonctionne maintenant !
fiou :-)
H

le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
Commenter la réponse de cs_hdh

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.