Рубрики
Uncategorized

Пример метода PHP для получения доменных имен верхнего уровня по Url-адресу

Автор оригинала: David Wong.

В этой статье показан метод получения доменного имени верхнего уровня в URL-адресе с помощью PHP. Поделитесь для вашей справки следующим образом:

parse_url() Получить многоуровневое доменное имя хоста, например: mp.weixin.qq.com 。 Чтобы внести доменные имена в черный список, нам нужно получить доменные имена верхнего уровня.

Пожалуйста, оставьте сообщение, чтобы исправить недостатки. Спасибо.

php
/**
 * @Author: Ding Jianlong
 * @Date:  2019-03-07 16:14:04
 * @Last Modified by:  Ding Jianlong
 * @Last Modified time: 2019-03-20 13:45:12
 */
header('content-type:text/html;charset=utf-8');
// Getting top-level domain names
function getTopHost($url){
 $url = strtolower ($url); // First converts to lowercase
 $hosts = parse_url($url);
 $host = $hosts['host'];
 // What level of domain name are you looking at?
  $data = explode('.', $host);
  $n = count($data);
  // Determine whether it is a double suffix
  $preg = '/[\w].+\.(com|net|org|gov|edu)\.cn$/';
  if(($n > 2) && preg_match($preg,$host)){
   // Double suffixes take the last three bits
   $host = $data[$n-3].'.'.$data[$n-2].'.'.$data[$n-1];
  }else{
   // Non-double suffixes
   $host = $data[$n-2].'.'.$data[$n-1];
  }
  return $host;
}
// Testing
echo getTopHost("http://ABC.com/s/j?wd=djl"),'
'; echo getTopHost("http://www.abc.com/s/j?wd=djl"),'
'; echo getTopHost("http://2.www.abc.com/s/j?wd=djl"),'
'; echo getTopHost("https://mp.weixin.qq.com/s?__biz=MzA3ODI3ODUzMw=="),'
'; echo getTopHost("http://cfi.net.cn/"),'
'; echo getTopHost("http://www.cfi.NEt.cn/"),'
'; echo getTopHost("https://www.sina.com.cn/?from=kandian"),'
';

Результаты операции:

abc.com abc.com abc.com qq.com cfi.net.cn cfi.net.cn sina.com.cn

Больше читателей, интересующихся контентом, связанным с PHP, могут ознакомиться с темами этого сайта: Краткое описание использования сокетов Php, Краткое описание использования строк Php, Краткое описание навыков работы с математикой PHP, Введение в объектно-ориентированное программирование Php, Полный набор навыков работы с массивами PHP и Обучение структуре и алгоритмам данных PHP. Ченг, Краткое изложение алгоритмов программирования на PHP и Краткое изложение навыков сетевого программирования на PHP

Я надеюсь, что эта статья будет полезна для разработки PHP – программ для всех.