NamePros
Welcome, Guest! Ready to make a name for yourself in the domain business? We welcome both the hobbyist and professional domainer to join the discussion as part of the NamePros community.

Click here to create your profile to start earning reputation for posting, and trader ratings for buying & selling in our free e-marketplace. Build your trader rating with each successful sale. Our system has tracked over 100,000 sales and counting!
FAQ & TOS Register Search Today's Posts Mark Forums Read

Go Back   NamePros.com > Website Development Discussion Forums > Programming
Reload this Page Parse a URL in PHP to return domain

Programming PHP, Perl, Ruby on Rails, AJAX, HTML, XHTML, CSS, JavaScript, MySQL and any other coding topics.

Advanced Search


Closed Thread
 
LinkBack Thread Tools
Old 10-28-2004, 04:17 PM THREAD STARTER               #1 (permalink)
RJ
NamePros Webmaster


 
RJ's Avatar
Join Date: Feb 2003
Posts: 12,930
RJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatness
 



Find Marrow Donors! Cystic Fibrosis Parkinson's Disease

Parse a URL in PHP to return domain


Please write a short php function to parse a URL and return just the domain name.

Example:
Code:
$url="http://www.namepros.com/showthread.php?p=350493";

$domain = getdomain($url); # domain equals "namepros.com"
Offering a new domain registration.
__________________
@DomainBuyer facebook
RJ is offline  
Old 10-28-2004, 05:15 PM   #2 (permalink)
Account Closed
 
axilant's Avatar
Join Date: May 2004
Location: /etc/passwd
Posts: 2,178
axilant is a splendid one to beholdaxilant is a splendid one to beholdaxilant is a splendid one to beholdaxilant is a splendid one to beholdaxilant is a splendid one to beholdaxilant is a splendid one to behold
 

Member of the Month
July 2005

<? function getdomain($url)
{
$explode = explode(".", $url);
$tld = $explode[2];
$tld = explode("/", $tld);
$name = $explode[1];
print("$name.$tld[0]");
}

print(getdomain("http://www.namepros.com/showthread.php?p=350493"));

?>

this should work.
axilant is offline  
Old 10-28-2004, 05:31 PM   #3 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
wait working on a better one RJ
PolurNET is offline  
Old 10-28-2004, 05:42 PM   #4 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS

PHP Code:
//Copyright 2004 by Anand A. For authorized use by -RJ- Only :D
// [url]www.polurnet.com[/url]
/*=================================
----EDIT WITH DESIRED URL BELOW--- */

$myurl "http://www.polurnet.com"

//=====NO More Editing Below Required!==========

function parse_url_domain ($url) {
$parsed parse_url($url);
$hostname $parsed['host'];
return 
$hostname;
????: NamePros.com http://www.namepros.com/programming/53456-parse-a-url-php-return-domain.html
}

$raw_url parse_url($myurl);
$domain_only =str_replace ('www.',''$raw_url);
echo 
$domain_only['host']; 
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
Quote:
Example:

$myurl = "http://www.polurnet.com";

Returns
Code:
polurnet.com
The best custom function, and never fails Tested for 1 hour too!

Cheers,
Anand
Last edited by PolurNET; 10-28-2004 at 05:55 PM.
PolurNET is offline  
Old 10-28-2004, 06:17 PM   #5 (permalink)
NamePros Regular
Join Date: Apr 2004
Location: Near Albany NY
Posts: 261
NineASpades is on a distinguished road
 



Would have taken this on if I saw it earlier Nice function Polur!
__________________
CoverageArea.com & CoverageAreas.com - TAKING OFFERS
Discuss Business | PC Gaming Talk | Travel Safety Tips
NineASpades is offline  
Old 10-28-2004, 06:42 PM   #6 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
VERSION 2.0

Quote:
Example:

$myurl = "http://subdomain.mycrazydomain.anytld";

Returns
Code:
mycrazydomain.anytld

PHP Code:
//Copyright 2004 by Anand A. For authorized use by -RJ- Only :D
// www.polurnet.com
// VERSION 2.0  -- ANY SUBDOMAIN REMOVAL!

function parse_url_domain ($url) {
$parsed parse_url($url);
$hostname $parsed['host'];
return 
$hostname;
}

$raw_url parse_url("http://subdomain.mycrazydomain.anytld");
preg_match ("/\.([^\/]+)/"$raw_url['host'], $domain_only);
echo 
$domain_only[1]; 
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
PolurNET is offline  
Old 10-28-2004, 06:48 PM   #7 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
VERSION 2.5

USING FAST REGULAR EXPRESSION SEARCH ONLY!

PHP Code:
//Copyright 2004 by Anand A. For authorized use by -RJ- Only :D
// www.polurnet.com

//SET URL HERE
$myurl "http://subdomain.nameprosrules.tld/index.html";
????: NamePros.com http://www.namepros.com/showthread.php?t=53456

// get host name
preg_match("/^(http:\/\/)?([^\/]+)/i",
   
$myurl$domain_only);
$host $domain_only[2];
echo 
"Domain Name is:  " $host
output:
Quote:
domain name is: nameprosrules.tld
PolurNET is offline  
Old 10-28-2004, 07:01 PM THREAD STARTER               #8 (permalink)
RJ
NamePros Webmaster


 
RJ's Avatar
Join Date: Feb 2003
Posts: 12,930
RJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatness
 



Find Marrow Donors! Cystic Fibrosis Parkinson's Disease
Ideally, it should be able to handle all types of domains, including .co.uk and URLS that contain uppercase letters (http://WWW.NamePros.com/ returns namepros.com)
????: NamePros.com http://www.namepros.com/showthread.php?t=53456

So far, this one seems to be working good. This was based off Polur's first submission. I was using a function similar to axilant's explode method before but those third level ccTLDs would trip it up.

PHP Code:
function getdomain($url) { 
$parsed parse_url($url); 
return 
str_replace('www.',''strtolower($parsed['host'])); 

See any problems with that? Simply want to give it a url at anytime and return the domain name associated with it, ie:

$domain = getdomain($url);
__________________
@DomainBuyer facebook
RJ is offline  
Old 10-28-2004, 07:05 PM   #9 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
Version 2 and Version 2.5 are what I recommend RJ. They handle ALL SUDOMAINS (meaning, will remove, even if 'www', or 'blablah' or 'forum', etc.) It will also accept ALL TYPES of TLDS... you name it you got it. That's why the examples are posted with the 'anytld' as the extension

Version 1 will only change 'www' which is not an ideal situation

Version 2.5 would be the fastest processing version, as only a complicated, albeit fast regular expression operation is performed. Only thing is that I didn't make it a function, but let me know
????: NamePros.com http://www.namepros.com/showthread.php?t=53456

You pick

BTW: All case INSENSITIVE I believe, if not, let me know
PolurNET is offline  
Old 10-28-2004, 07:12 PM THREAD STARTER               #10 (permalink)
RJ
NamePros Webmaster


 
RJ's Avatar
Join Date: Feb 2003
Posts: 12,930
RJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatness
 



Find Marrow Donors! Cystic Fibrosis Parkinson's Disease
Could you put that in a function that handles it all?

Template for it,

PHP Code:
<?
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
function getdomain($url) {

#
# your function here
#

return $domain;
}

$url1 "http://WWW.NAMEPROS.COM/showthread.php?t=53456";
$url2 "https://www.direct.gov.uk/Homepage/fs/en";  
$url3 "http://horribly.long.subdomains.file.net/index.php";
$url4 "http://66.98.205.16/tester";  # just for fun

echo "<br>url: $url1 <Br>domain: ".getdomain($url1)."<br>";
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
echo 
"<br>url: $url2 <Br>domain: ".getdomain($url2)."<br>";
echo 
"<br>url: $url3 <Br>domain: ".getdomain($url3)."<br>";
echo 
"<br>url: $url4 <Br>domain: ".getdomain($url4)."<br>";
?>
__________________
@DomainBuyer facebook
RJ is offline  
Old 10-28-2004, 07:14 PM   #11 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
:roof of All Domain (Even multi-dots) Compatibility with Version 1.0, 2.0, 2.5::

Say my URL is "http://forum.nameprosrules.co.uk"

Returns: "nameprosrules.co.uk" !!!
=========

For Case Insensitivity, Modify above last echo line by:

{Version 2.0}
PHP Code:
echo strtolower($domain_only[1]); 
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
{Version 2.5)
PHP Code:
echo "Domain Name is:  " strtolower($host); 
Hope it helps

Cheers,
Anand
PolurNET is offline  
Old 10-28-2004, 07:17 PM   #12 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
Originally Posted by -RJ-
Could you put that in a function that handles it all?
????: NamePros.com http://www.namepros.com/showthread.php?t=53456

Template for it,
Actually, on second thought, Version 2.0 (using combo of regexp and function) would remain the most stable. The 'fastest' one actually may cause unexpected troubles, as it's a PURE regexp, with strict rules. Thus, stick with the second one, with all function being coded. And the above post also verifies all cases possible.
PolurNET is offline  
Old 10-28-2004, 07:20 PM   #13 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
Hold on, I'm going to modify the function, so that only the URL needs to be inputted, and no preg_match is done outside of function
PolurNET is offline  
Old 10-28-2004, 07:22 PM THREAD STARTER               #14 (permalink)
RJ
NamePros Webmaster


 
RJ's Avatar
Join Date: Feb 2003
Posts: 12,930
RJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatnessRJ Has achieved greatness
 



Find Marrow Donors! Cystic Fibrosis Parkinson's Disease
Originally Posted by PolurNET
Hold on, I'm going to modify the function, so that only the URL needs to be inputted, and no preg_match is done outside of function
Nice, thanks. The less that needs to be done outside the function, the better so I can just through a .getdomain($url). in my code anywhere.
__________________
@DomainBuyer facebook
RJ is offline  
Old 10-28-2004, 07:28 PM   #15 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS

Talking Final Version 2.70 - The Best!


Version 2.70

PHP Code:
//Copyright 2004 by Anand A. For authorized use by -RJ- Only
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// -----  FIND DOMAIN NAME ONLY (HOSTNAME) GIVEN ANY TYPE OF URL OR TLD  -------------
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// | ADVERTISEMENT | Visit : www.polurnet.com
// VERSION 2.70  -- Integrated to One Function... Input any URL and go!!

function parse_url_domain ($url) {
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
$raw_urlparse_url($url);
preg_match ("/\.([^\/]+)/"$raw_url['host'], $domain_only);
return 
strtolower($domain_only[1]);
}

/// Put URL Of Intrest Here :::   ///
$myurl parse_url_domain ("http://subdomain.mycrazydomain.any.tld/index.php");

/// Output : Case  lowered, only domain + tld shown

echo $myurl;

// Enjoy! 

Okay, the above is the final version, all integrated, and 100% working
The function that you should call to execute the parsing: parse_url_domain() (Input: Mixed String, Output: Mixed String)
Let me know if you need anything else, or more help

Cheers,
Anand
Last edited by PolurNET; 10-28-2004 at 07:38 PM.
PolurNET is offline  
Old 10-29-2004, 03:20 AM   #16 (permalink)
Senior Member
Join Date: Aug 2002
Posts: 1,255
deadserious has a spectacular aura aboutdeadserious has a spectacular aura about
 



I just took an example off php.net and modified it to grab domains out of httpS URL's as well as http and put it in a function how I think you wanted it. It would probably just take a simple modification to the regex if you wanted to ignore parsing URL's which are just ip addresses.

PHP Code:
<? 

function getdomain($url) {

    
preg_match (
        
"/^(http:\/\/|https:\/\/)?([^\/]+)/i",
        
$url$matches
    
);

    
$host $matches[2]; 

    
preg_match (
        
"/[^\.\/]+\.[^\.\/]+$/"
        
$host$matches
    
);
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
    
    return 
strtolower("{$matches[0]}");


$url1 "http://WWW.NAMEPROS.COM/showthread.php?t=53456"
$url2 "https://www.direct.gov.uk/Homepage/fs/en";   
$url3 "http://horribly.long.subdomains.file.net/index.php"
$url4 "http://66.98.205.16/tester";  # just for fun 

echo "<br>url: $url1 <Br>domain: ".getdomain($url1)."<br>"
echo 
"<br>url: $url2 <Br>domain: ".getdomain($url2)."<br>"
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
echo 
"<br>url: $url3 <Br>domain: ".getdomain($url3)."<br>"
echo 
"<br>url: $url4 <Br>domain: ".getdomain($url4)."<br>";

?>
deadserious is offline  
Old 10-29-2004, 07:32 AM   #17 (permalink)
Qwest
Guest
Posts: n/a
 



Nice, I would have replied too had I seen this but I'm a newb here
 
Old 10-29-2004, 09:36 AM   #18 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
deadserious, yup, that's my version 2.5 above, but I didn't notice php.net already having it, so I made my own
PolurNET is offline  
Old 10-29-2004, 03:48 PM   #19 (permalink)
Senior Member
 
ezimedia's Avatar
Join Date: Dec 2003
Location: IllawarraClassifieds.com.au
Posts: 2,360
ezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant future
 




HI

Interesting thread it seems very close to what I am looking for a code that will support .co.uk domain but what is the Var$ I need to use to do the following

$myurl =$_SERVER["HTTP_HOST"];
????: NamePros.com http://www.namepros.com/showthread.php?t=53456

I tried the following,

$myurl = parse_url_domain($_SERVER["HTTP_HOST"]);

and also

$domain = $_SERVER["HTTP_HOST"];
$myurl = parse_url_domain($domain);

echo $myurl;

But it did not work, any ideas.

Reason why I want this to work is that I have multiple domains parked as one website with the same dns and I want the domain the visitor has in their browser to load in a special popunder I have...

I have it working with all ext but .co.uk or any thing with a multi ext on the end of the domain.

Do I make sense if not sorry Im still a newbie to PHP

Thanks
Tom Dahne

Expire Domain Software
http://www.expireddomainsoftware.com
ezimedia is offline  
Old 10-29-2004, 04:36 PM   #20 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
Hi Tom,

If I'm not mistaken it might be caused by a lack of quotes around the server call code, when defining $domain.

But I'll try with the server variable you said, and get back to you

if you liked this code too, I'd appreciate a small donation of NPs if you don't mind

Cheers
Anand
PolurNET is offline  
Old 10-30-2004, 02:14 AM   #21 (permalink)
Senior Member
 
ezimedia's Avatar
Join Date: Dec 2003
Location: IllawarraClassifieds.com.au
Posts: 2,360
ezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant futureezimedia has a brilliant future
 




HI Anand,

Well I got it all working with other code I had already but it did not work with .co.uk or multi extensions and when I saw your code would handle .co.uk I tried it but could not get it to work using the code below..

$domain = $_SERVER["HTTP_HOST"];
$myurl = parse_url_domain($domain);

If you work it out let me know, I will be happy to donate some NP$ if I can get it working,

Thanks
Tom Dahne

Expired Domain Software
http://www.expireddomainsoftware.com
ezimedia is offline  
Old 10-30-2004, 03:18 AM   #22 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS
Whoa! After hours of php debugging, I discovered a certain predicament with my code... using no 'www' in the URL. In this case, the system actually parses and removes the domain, as that's the first target (no 'www' is present, remember...)

I'm in the process of making the parsing code "intelligent" by figuring if a www is present or not, and if not, to leave as is (after regular parsing), if there is, then run the additional parsing

And actually, Tom, your problem is related with that, as the Server HTTP HOST variable contains no 'www' So I've developed a preliminary checking mechanism for that too, it should go well
????: NamePros.com http://www.namepros.com/showthread.php?t=53456

I'll get back to you on this shortly !

Cheers
Anand
PolurNET is offline  
Old 10-30-2004, 05:22 AM   #23 (permalink)
Senior Member
 
PolurNET's Avatar
Join Date: Jul 2004
Location: I ♥ Business Law
Posts: 3,082
PolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant futurePolurNET has a brilliant future
 

Member of the Month
January 2007
Alzheimer's Cancer Survivorship Third World Education Autism Save a Life Cystic Fibrosis Parkinson's Disease Lou Gehrig's Disease (ALS) Autism Multiple Sclerosis SIDS

Cool v3.01 FINAL - DomainFind PHP SCRIPT - by Anand A.


Here is the Version 3.01 Final, 100% working, and newest full-featured version of this script.

Now, it's protected by the free GNU Public License, so please respect the property rights and leave the credits.

Info:
PHP Code:
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// ---  FIND DOMAIN NAME (HOSTNAME) GIVEN ANY TYPE OF URL OR TLD EXTENSION (v3.01)  ---
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//                    --  VERSION 3.01 Final  --
**NOTEThe below comments may be removed in your scriptAbove must remain intact.
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
------------------
Changes/Fixes  |
------------------
Added auto removal of 'www' if present
Added ANY TLD routine ... CountryCode TLDs workexco.ukany.tld.ext
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
Added subdomain function ... manual recognition
Integrated all routines in function... only end-user input is isolated
Fixed SERVER variablesin which "host" is undefinedonly "path" array holds
Fixed case insenstivity mode
Improved Execution of Code via Regular Expressions
*/ 
Package Attached to this post. If ever you run into problems, have suggestions, feature improvements or bug reports, simply email me at info@polurnet.com OR PM here, OR post here

Any $NP donation is much appreciated, I worked hard developing a nice alternative to the other codes, and a lot of hard work was put into it ensuring it's bug-free !

Leave your comments on this thread as well...

Cheers,
Anand
Attached Files
File Type: zip DomainFind v3.01.zip (8.5 KB, 470 views)
Last edited by PolurNET; 10-30-2004 at 05:32 AM.
PolurNET is offline  
Old 10-30-2004, 05:24 AM   #24 (permalink)
aww
Senior Member
 
aww's Avatar
Join Date: Jan 2004
Posts: 1,187
aww is a jewel in the roughaww is a jewel in the roughaww is a jewel in the rough
 



Note that if you are in PHP routine and you just want the hostname for the page you are on, it's as simple as this:

PHP Code:
$host=str_replace('www.'''strtolower($_SERVER['HTTP_HOST'])); 
????: NamePros.com http://www.namepros.com/showthread.php?t=53456
NP$'s accepted if used
aww is offline  
Old 10-30-2004, 09:59 AM   #25 (permalink)
Senior Member
Join Date: Mar 2004
Posts: 1,402
primacomputer is a jewel in the roughprimacomputer is a jewel in the roughprimacomputer is a jewel in the rough
 



This may seem like a simple job but it's actually pretty complicated. Without going too much into the details of dealing with URL obsfucation, host names containing more than [a-z0-9-,] people who don't bother to use HTTP://, port numbers, etc., it's still difficult. There is a fundamental problem when dealing with ccTLDs.
????: NamePros.com http://www.namepros.com/showthread.php?t=53456

For example, originally domains could be registered as .COM.CN, .NET.CN, etc. Now names can be registered as .CN. The result is that www.net.cn is a domain name, whereas www.ten.cn is a host in the ten.cn domain.

To accurately do what you want, you would need to include a rule set for every TLD and ccTLD to define what the TLD really is( ie com.cn and/or .cn). More importantly you need to keep this up to date as the rules change from time to time.

Without doing all that your best bet is to grab the host name with a simple regex and either strip the www off the front, or take the last 2 or 3 levels of the host name. This can be done with a simple regex. For example:

"http[s]?:\/\/(www\.)?(.*?)[^a-z0-9\-\.]"
Puts the host name less www. Into $2

"http[s]?:\/\/.*?([a-zA-Z0-9-]{2,67}\.[a-zA-Z]{2,4})[^a-z0-9\-\.]"
puts the last two levels of the host name into $1 (ie yahoo.com, .co.uk)

"http[s]?:\/\/.*?([a-zA-Z0-9-]{2,67}\.[a-zA-Z0-9-]{2,67}\.[a-zA-Z]{2,4})[^a-z0-9\-\.]"
puts the last three levels of the host name into $1 (ie yahoo.co.uk, mail.yahoo.com)

Any combination of those ought to be able to approximate what you want. Personally I use a half baked version of the rule set system described above, which is fine for what I need.
primacomputer is offline  
Closed Thread


Currently Active Users Viewing This Thread: 2 (0 members and 2 guests)
 
Thread Tools


Liquid Web Smart Servers  
All times are GMT -7. The time now is 03:53 AM.

Managed Web Hosting by Liquid Web
Domain name forum recommended by Domaining.com Powered by: vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.6.0 Ad Management plugin by RedTyger