browser lang:en
getLink() is a function that will make creating URLs much easier. This function expects two arguments - the first argument is the URL and the second one is an array with all the parameters that should be passed with the URL. The function will combine the existing URL with the parameter array and return the resulting URL.
One important thing to note is that the final URL will use '&' to separate the parameters instead of just '&'. This is to ensure valid HTML in the output. If you don't like that, just str_replace() it out.
If there is extra parameters in the first URL, that will be present in the final URL.
Arguments
First Argument ($url)
The base URL. The parameters will be added to this.
Second Argument ($params)
An associative array containing all the parameters and their values.
Third Argument ($use_existing_arguments)
This is an optional argument. If this is set to 'true', the function will use the parameters that are present in the current page along with the $params array when creating the URL.
Example Code
Two Arguments
getLink("http://www.google.com/search",array(
"q"=>"binny",
"hello"=>"world",
"results"=>10)
);
getLink("http://www.example.com/edit.php",array(
"item_id" => 15,
"return_url"=> 'index.php'
),
true);
/**
* Create a link by joining the given URL and the parameters given as the second argument.
* Arguments : $url - The base url.
* $params - An array containing all the parameters and their values.
* $use_existing_arguments - Use the parameters that are present in the current page
* Return : The new url.
* Example :
* getLink("http://www.google.com/search",array("q"=>"binny","hello"=>"world","results"=>10));
* will return
* http://www.google.com/search?q=binny&hello=world&results=10
*/
function getLink($url,$params=array(),$use_existing_arguments=false) {
if($use_existing_arguments) $params = $params + $_GET;
if(!$params) return $url;
$link = $url;
if(strpos($link,'?') === false) $link .= '?'; //If there is no '?' add one at the end
elseif(!preg_match('/(\?|\&(amp;)?)$/',$link)) $link .= '&'; //If there is no '&' at the END, add one.
$params_arr = array();
foreach($params as $key=>$value) {
if(gettype($value) == 'array') { //Handle array data properly
foreach($value as $val) {
$params_arr[] = $key . '[]=' . urlencode($val);
}
} else {
$params_arr[] = $key . '=' . urlencode($value);
}
}
$link .= implode('&',$params_arr);
return $link;
}
Selective Tweets is an application that allows you to control what tweets are added to your Facebook…
in:Social Networking (0 comments)In a FBML Facebook App, your quick jump menu will require a little tweak to work in FBJS…
in:Scripts and tutorials (0 comments)Every single day, someone, somewhere is discussing something important to your business; your brand, your executives, your…
in:Scripts and tutorials (0 comments)Although some IT managers are coming around to the idea of supporting iPhones, most aren’t convinced…
in:Free Software (0 comments)When you want to run your own mail server, and it does not matter what version and…
in:Apache - .htaccess (0 comments)Have you ever had to develop something yourself only to find out that there had already been…
in:JQuery (0 comments)The situation begins with your blog or website and you need to post some code on a particular…
in:The Holy Faq's (0 comments)So. Google just recently announced Google Buzz. I’m not sure about you, but I…
in:Blog (0 comments)
