vormen voor de referrer?
Ik ben een klein linkexchange script aan het maken.
Het script zet eigenlijk gewoon all referrers in de database mbv $_SERVER['HTTP_REFERER']
En ik kies degen die op mijn linkpagina komen te staan.
Zo kan ik ook zien hoeveel bezoekers ik krijg van elke referrer.
Nu wil ik niet dat bv http://www.google.be en http://google.be allebei in de database staan, omdat het uiteindelijk dezelfde site is.
Dus ben ik alles aan het opslaan als "google.be" - domeinnaam zonder http of www.
Nu vroeg ik mij af in welke vorm de referrer allemaal kan zijn.
er is http, https, en beide met www of zonder.
Zijn er nog?
Ik ben de verbodige delen aan het weg doen met str_replace()
Is er een bestaande functie voor ofzo?
Ook de subpagina wordt weggedaan.
Dit is wat ik heb:
// Get referrer[linebreak]$ref = $_SERVER[HTTP_REFERER];[linebreak]$ref = str_replace(http://www., , $ref);[linebreak]$ref = str_replace(https://www., , $ref);[linebreak]$ref = str_replace(http://, , $ref);[linebreak]$ref = str_replace(https://, , $ref);[linebreak][linebreak]// remove http://wwww. or subpages[linebreak]$split_domain = explode("/", $ref);[linebreak]$domain = $split_domain[0];
Moet er nog iets bij zodat ik altijd ALLEEN de domeinnaam heb?
Bij voorbaat dank!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$array_urls = array
(
'http://www.phphulp.nl/index.php',
'www.teveel.phphulp.nl/index.php?aaar=1',
'www.www.teveel.phphulp.nl/postvak/1',
'geeen.www.phphulp.nl/index.php?daa=1&daaa=1&dat=1'
);
foreach($array_urls as $url)
{
preg_match("/^(http:\/\/)?([^\/]+)/i" , $url, $gevonden);
preg_match("/[^\.\/]+\.[^\.\/]+$/" , $gevonden[2], $gevonden);
echo "Gevonden domein naam is ".$gevonden[0]."<br />";
}
?>
$array_urls = array
(
'http://www.phphulp.nl/index.php',
'www.teveel.phphulp.nl/index.php?aaar=1',
'www.www.teveel.phphulp.nl/postvak/1',
'geeen.www.phphulp.nl/index.php?daa=1&daaa=1&dat=1'
);
foreach($array_urls as $url)
{
preg_match("/^(http:\/\/)?([^\/]+)/i" , $url, $gevonden);
preg_match("/[^\.\/]+\.[^\.\/]+$/" , $gevonden[2], $gevonden);
echo "Gevonden domein naam is ".$gevonden[0]."<br />";
}
?>
En als je dat array gebeuren weg laat, wat ik even ter demonstratie heb gedaan zodat je diverse url's kunt zien worden gefilterd komt het neer op:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$url = "http://www.website.nl";
preg_match("/^(http:\/\/)?([^\/]+)/i" , $url, $gevonden);
preg_match("/[^\.\/]+\.[^\.\/]+$/" , $gevonden[2], $gevonden);
echo "Gevonden domein naam is ".$gevonden[0]."<br />";
?>
$url = "http://www.website.nl";
preg_match("/^(http:\/\/)?([^\/]+)/i" , $url, $gevonden);
preg_match("/[^\.\/]+\.[^\.\/]+$/" , $gevonden[2], $gevonden);
echo "Gevonden domein naam is ".$gevonden[0]."<br />";
?>
Gewijzigd op 01/01/1970 01:00:00 door Danny Roelofs
Daarom zou ik die toch willen opslaan.
Ik ben trouwens de preg_match tutorial aan het lezen, omdat je die functie gebruikt in de code, en ik snap niet waarom je de haakjes gebruikt de eerst keer dat je de functie oproept.
Kan je dat uitleggen aub?
Bedankt!