PHP and javascript snippets you can copy and paste.

Thursday, April 12, 2007

js_php_parse_url(url)

/**
* Javascript equivalent of PHP 'parse_url' function.
*/
function js_php_parse_url(url){

url = new String(url);

ret = new Array();

// Domain name and scheme
var regexp = new RegExp("([a-z0-9]+)\:\/\/([\.a-z0-9\-\_]+)", "i");
result = regexp.exec(url);
if(result){
ret.scheme = result[1];
ret.domain = result[2];
}

// Path
regexp.compile("[a-z]+\:\/\/[\.a-z0-9]+\/([a-z0-9\/\.\-\_]+)\/", "i");
result = regexp.exec(url);
if(result){
ret.path = result[1] + '/';
}

// file name

regexp.compile("[a-z]+\:\/\/[\.a-z0-9]+\/([a-z0-9\/\.\-\_]+)", "i");
result = regexp.exec(url);
if(result){
ret.filename = result[1];
}
else{
ret.filename = url;
}

// Ext.
temp = ret.filename.split('.');
ret.ext = temp[1];


// Port

regexp.compile("[a-z]+\:\/\/[\.a-z]+\:([0-9]+)", "i");
result = regexp.exec(url);
if(result){
ret.port = result[1];

}

// Query
temp = url.split('?');
if(temp[1]){
ret.query = temp[1];
}

return ret;

}

1 comment:

admin said...

Tested 14 April 2007.