如何在PHP中验证没有http或https的域名?

时间:2013-10-01 04:22:04

标签: php

我需要从文本字符串中验证域名以处理以下内容:

www.dewalist.com
dewaxxxx.com
ng.dewalist.com
dewaster.com.au
test.co.uk
...
...

我可以使用FILTER_VALIDATE_URL但是这只会验证完整的网址:http://www.dewalist.com bla bla,这不是我想要的。

类似于功能,但对于电子邮件,它适用于域:

function extract_email_address ($string) 
    {
       $emails = array();
       $string = str_replace("\r\n",' ',$string);
       $string = str_replace("\n",' ',$string);

       foreach(preg_split('/ /', $string) as $token) {
            $email = filter_var($token, FILTER_VALIDATE_EMAIL);
            if ($email !== false) { 
                $emails[] = $email;
            }
        }
        return $emails;
    }

1 个答案:

答案 0 :(得分:2)

您可以使用parse_url()将网址拆分为逻辑部分,而不是仅通过regexp验证您需要的部分。

http://php.net/parse_url