functie-url-maken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
function url($replace = array(), $url = 'x') {
// De array $geturl zetten, deze zal later alle GET waarden bevatten
$geturl = array();
// De URL geschikt maken, zodat deze gebruikt kan worden (als er geen URL is ingevuld, dan word de huidige URL gebruikt)
$url = $url == 'x' ? $_SERVER['PHP_SELF'] : $url;
$explurl = explode('?', $url);
$url = $explurl[0];
$url = basename($url);
// Als de opgegeven URL hetzelfde is als de URL van de pagina waar je nu op bent, dan zullen alle GET waarden
// ... ook weer meedoen. Als je dit ook wilt bij een URL die niet gelijk is, gebruik dan de functie: url($_GET);
if ($url == basename($_SERVER['PHP_SELF'])) {
global $_GET;
$geturl = $_GET;
}
// Hier worden de GET variabelen uit de opgegeven link gehaalt (stel je vult pagina.php?var=8 in,
// ... dan komt die var=8 ook weer voor in de nieuwe URL)
if (!empty($explurl[1])) {
$explurl2 = explode('&', $explurl[1]);
foreach ($explurl2 as $value) {
$explvalue = explode('=', $value);
$geturl[$explvalue[0]] = $explvalue[1];
}
}
// Hier worden alle GET variabelen die ingevuld werden als GET variabelen omgezet.
foreach ($replace as $key => $value) {
$geturl[$key] = $value;
}
// Hier dan, eindelijk de final touch: Alle GET variabelen worden aan de URL toegevoegd.
$newurl = $url;
foreach ($geturl as $key => $value) {
$newurl .= !empty($key) && !empty($value) ? htmlentities(($newurl == $url ? '?' :'&').$key.'='.urlencode($value)) : '';
}
return $newurl;
}
?>
function url($replace = array(), $url = 'x') {
// De array $geturl zetten, deze zal later alle GET waarden bevatten
$geturl = array();
// De URL geschikt maken, zodat deze gebruikt kan worden (als er geen URL is ingevuld, dan word de huidige URL gebruikt)
$url = $url == 'x' ? $_SERVER['PHP_SELF'] : $url;
$explurl = explode('?', $url);
$url = $explurl[0];
$url = basename($url);
// Als de opgegeven URL hetzelfde is als de URL van de pagina waar je nu op bent, dan zullen alle GET waarden
// ... ook weer meedoen. Als je dit ook wilt bij een URL die niet gelijk is, gebruik dan de functie: url($_GET);
if ($url == basename($_SERVER['PHP_SELF'])) {
global $_GET;
$geturl = $_GET;
}
// Hier worden de GET variabelen uit de opgegeven link gehaalt (stel je vult pagina.php?var=8 in,
// ... dan komt die var=8 ook weer voor in de nieuwe URL)
if (!empty($explurl[1])) {
$explurl2 = explode('&', $explurl[1]);
foreach ($explurl2 as $value) {
$explvalue = explode('=', $value);
$geturl[$explvalue[0]] = $explvalue[1];
}
}
// Hier worden alle GET variabelen die ingevuld werden als GET variabelen omgezet.
foreach ($replace as $key => $value) {
$geturl[$key] = $value;
}
// Hier dan, eindelijk de final touch: Alle GET variabelen worden aan de URL toegevoegd.
$newurl = $url;
foreach ($geturl as $key => $value) {
$newurl .= !empty($key) && !empty($value) ? htmlentities(($newurl == $url ? '?' :'&').$key.'='.urlencode($value)) : '';
}
return $newurl;
}
?>