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

cs_hdh 140 Messages postés mardi 3 juin 2003Date d'inscription 20 août 2012 Dernière intervention - 10 août 2009 à 19:11 - Dernière réponse : cs_hdh 140 Messages postés mardi 3 juin 2003Date d'inscription 20 août 2012 Dernière intervention
- 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

Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 12 août 2009 à 10:27
+3
Utile
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 ???
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Bul3
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 11 août 2009 à 05:56
0
Utile
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
cs_hdh 140 Messages postés mardi 3 juin 2003Date d'inscription 20 août 2012 Dernière intervention - 11 août 2009 à 09:28
0
Utile
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
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 11 août 2009 à 09:55
0
Utile
>>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
cs_hdh 140 Messages postés mardi 3 juin 2003Date d'inscription 20 août 2012 Dernière intervention - 11 août 2009 à 18:20
0
Utile
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
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 12 août 2009 à 08:42
0
Utile
possible d'avoir uniquement l'extrait qui cloche ?
parce que là...
Commenter la réponse de Bul3
cs_hdh 140 Messages postés mardi 3 juin 2003Date d'inscription 20 août 2012 Dernière intervention - 12 août 2009 à 08:54
0
Utile
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
Bul3 4934 Messages postés samedi 1 juillet 2006Date d'inscription 2 février 2015 Dernière intervention - 12 août 2009 à 10:21
0
Utile
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
cs_hdh 140 Messages postés mardi 3 juin 2003Date d'inscription 20 août 2012 Dernière intervention - 18 août 2009 à 18:54
0
Utile
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.