Mysql 根据URL获取顶级域名

CREATE DEFINER=`root`@`%` FUNCTION `fn_get_topDomainName_from_url`(`Article_URL_In` varchar(1000)) RETURNS varchar(200) CHARSET utf8
BEGIN
  /***********************************************************
     根据URL获取顶级域名
  ************************************************************/
  declare domain_name_out varchar(200);
  declare domain_info varchar(200);
  declare root_domain_name varchar(200);
  
  -- 获取域名信息
  SET domain_info=SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING_INDEX(Article_URL_In, '/', 3), '/', -1) ,':',1);

  -- 提取域名中的根域
  SET root_domain_name=(IF(domain_info REGEXP '(com|tel|mobi|net|org|asia|me|tv|biz|cc|name|info|gov|cn|co|edu|europa)(\\.[a-zA-Z]{2})$', 
      SUBSTRING_INDEX(domain_info, '.', -2), 
      IF(domain_info REGEXP '([a-zA-Z]{2,4})$', SUBSTRING_INDEX(domain_info, '.', -1), '')));

  -- 根据子域名和根域取一级域名 
  SET domain_name_out=CONCAT(SUBSTRING_INDEX(TRIM(TRAILING root_domain_name FROM domain_info), '.', -2), root_domain_name); 
  
  return domain_name_Out;
END

转载于:https://www.cnblogs.com/krisy/archive/2012/12/10/2811124.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值