Explode URL

Toutes les astuces sur le langage JavaScript dans Lotus Notes

Explode URL

Messagepar Michael DELIQUE » 11 Août 2008 à 08:51

Prend une URL et renvois les différente partie dans un Tableau

http
server
Path
file
cmd
QueryString

[syntax="javascript"]function explodeURL(url){
if (url === undefined || url === null || url === "") {
url = (document.location.href).toLowerCase();
}
var arrayRetour = [];
var nbPosition1 = 0;
var nbPosition2 = 0;

if (url.toLowerCase().indexOf('https://') >= 0) {
arrayRetour["http"] = 'https://';
nbPosition1 = url.indexOf('https://') + 8;
nbPosition2 = url.indexOf('/', nbPosition1);
arrayRetour["server"] = url.substring(nbPosition1, nbPosition2);
}
else
if (url.toLowerCase().indexOf('http://') >= 0) {
arrayRetour["http"] = 'http://';
nbPosition1 = url.indexOf('http://') + 7;
nbPosition2 = url.indexOf('/', nbPosition1);
arrayRetour["server"] = url.substring(nbPosition1, nbPosition2);
}
else {
arrayRetour["server"] = "";
if (url.substring(0, 1) === '/') {
nbPosition2 = 0;
}
else {
nbPosition2 = url.indexOf('/');
arrayRetour["server"] = url.substring(nbPosition1, nbPosition2);
}
}
nbPosition1 = nbPosition2 + 1;
nbPosition2 = url.lastIndexOf('nsf') + 3;

arrayRetour["path"] = url.substring(nbPosition1, nbPosition2);
arrayRetour["file"] = arrayRetour["path"].substring((arrayRetour["path"].lastIndexOf('/') + 1), arrayRetour["path"].length);
arrayRetour["path"] = arrayRetour["path"].substring(0, arrayRetour["path"].lastIndexOf('/') + 1);

if (url.indexOf('&') > 0) {
nbPosition1 = nbPosition2 + 1;
nbPosition2 = url.indexOf('&')
arrayRetour["cmd"] = url.substring(nbPosition1, nbPosition2);
arrayRetour["querystring"] = url.substring(nbPosition2, url.length);
}
else {
arrayRetour["cmd"] = url.substring(nbPosition2 + 1, url.length);
arrayRetour["querystring"] = "";
}

return arrayRetour;
}
[/syntax]
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Retour vers JavaScript