Enjoy unlimited access to all forum features for FREE! Optional upgrade available for extra perks.
Domain summit 2024

Code to turn URL into Domain

Status
Not open for further replies.

Scooter

Level 3
Legacy Platinum Member
Joined
Jan 1, 2003
Messages
61
Reaction score
0
Feedback: 1 / 0 / 0
I am looking for a bit of code for a PHP page.

I want to be able to turn any URL string into a domain name with all the extra crap removed.

Examples:
From URL String: http://www.any-domain.com/contact.php
into domain: any-domain.com

or URL String: http://www.any-domain.co.uk/dir/page.php
into domain: any-domain.co.uk


Thanks
:)

Edit: fix examples
 
Domain summit 2024

Nexus

DNF Addict
Legacy Exclusive Member
Joined
Sep 11, 2002
Messages
1,495
Reaction score
0
Feedback: 3 / 0 / 0
This is a nice site that has a set of useful regular expressions for all sorts of purposes. I modified one from their URI section.
http://www.regexlib.com/DisplayPatterns.aspx?cattabindex=1&categoryId=2

Here's the code:
Code:
$str = "http://www.any-domain.co.uk/dir/page.php";
$regex = "[a-zA-Z0-9]+[\.]?(([a-zA-Z0-9\.\-]+)?\.(com|org|net|mil|edu|co.uk))";
eregi($regex,$str,$grab);
echo $grab[1];
Should get the job done... just add any other extensions you want to check for.

RETURN 1: any-domain.co.uk
RETURN 2: any-domain.com

~ Nexus
 

Nexus

DNF Addict
Legacy Exclusive Member
Joined
Sep 11, 2002
Messages
1,495
Reaction score
0
Feedback: 3 / 0 / 0
I was testing something and I came up with this (which might also be useful to you). The following PHP code will take an external text document, and return a list of all the domains it finds in it.
Code:
$myfile = file("C:/sample.txt");
$myfile = addslashes(implode("",$myfile));
$regex = "/([a-z0-9]+[\.])?(([a-z0-9\.-]+)\.(com|org|net|mil|edu|co.uk))/i";
preg_match_all($regex,$myfile,$grab);
while(list($key,$value) = each($grab[2])) echo $value."<br>";
The following will alphabetize the list and remove duplicates.
Code:
$myfile = file("C:/sample.txt");
$myfile = addslashes(implode("",$myfile));
$regex = "/([a-z0-9]+[\.])?(([a-z0-9\.-]+)\.(com|org|net|mil|edu|co.uk))/i";
preg_match_all($regex,$myfile,$grab);
$final = $grab[2];
asort($final);
reset($final);
$temparr=$final;
 while(list($key,$value) = each($final))
 {
   if(!empty($prevkey))
     if($value==$final[$prevkey]) unset($temparr[$key]);
   $prevkey = $key;
 }
$final = $temparr;
while(list($key,$value) = each($final)) echo strtolower($value)."<br>";
You can use the DNAuction page html as a test sample:
http://www.dnfauctions.com/auction/auction.cgi?category=domains1&listtype=current

Best Regards,
~ Nexus
 

.com.net.org

Level 8
Legacy Platinum Member
Joined
Oct 20, 2002
Messages
1,951
Reaction score
0
Feedback: 0 / 0 / 0
easiest way is to use frame
 

Whois-Search

Level 9
Legacy Platinum Member
Joined
Apr 28, 2002
Messages
3,119
Reaction score
1
Feedback: 0 / 0 / 0
just use the built in php function
parse_url ( string url), it will seperate your url in to a component array; for the current page use: parse_url ( $PHP_SELF).
The important array components will be:
[host]: www.your_domain
and [path]: somepage.php.
So just strip out the www. from the host with a reg exp.

If interested in a javascript version, see a similiar script to expose just the domain name on mouseover, at http://www.choicenames.com/linkstripper.html, should be easy to break the script down to return just what you want to see.
 
Status
Not open for further replies.

The Rule #1

Do not insult any other member. Be polite and do business. Thank you!

Sedo - it.com Premiums

IT.com

Premium Members

AucDom
UKBackorder
Be a Squirrel
MariaBuy

New Threads

Our Mods' Businesses

Free QR Code Generator by MerchArts
UrlPick.com

*the exceptional businesses of our esteemed moderators

Top Bottom