Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Nama Domain Root daripada Subdomain dalam PHP?

Bagaimana untuk Mengekstrak Nama Domain Root daripada Subdomain dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-22 08:10:30393semak imbas

How to Extract Root Domain Names from Subdomains in PHP?

Mengekstrak Nama Domain daripada Subdomain dalam PHP

Dalam PHP, mendapatkan nama domain akar daripada subdomain adalah tugas biasa. Pertimbangkan senario di mana anda menghadapi pembolehubah seperti ini:

here.example.com
example.com
example.org
here.example.org

Anda berhasrat untuk mengubah nilai ini kepada nama domain akarnya, seperti example.com atau example.org. Untuk mencapai matlamat ini, fungsi yang direka dengan baik diperlukan.

Penyelesaian

Coretan berikut menunjukkan fungsi yang dipanggil get_domain() yang mengekstrak nama domain akar dengan berkesan:

<code class="php">function get_domain($url)
{
  $pieces = parse_url($url);
  $domain = isset($pieces['host']) ? $pieces['host'] : '';
  if (preg_match('/(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$/i', $domain, $regs)) {
    return $regs['domain'];
  }
  return false;
}</code>

Fungsi ini menggunakan fungsi parse_url() terbina dalam untuk memecahkan URL dan mendapatkan semula komponen hos. Selepas itu, ia menggunakan ungkapan biasa untuk mengesahkan dan mengekstrak nama domain akar, memastikan ia mematuhi konvensyen penamaan domain biasa.

Dengan memanggil get_domain() dengan URL yang dikehendaki, anda boleh mengasingkan nama domain akar dengan mudah. :

<code class="php">print get_domain("http://somedomain.co.uk"); // outputs 'somedomain.co.uk'</code>

Dalam kes di mana URL tidak mematuhi struktur domain yang boleh diterima, fungsi ini mengendalikan kes tepi ini dengan anggun dengan mengembalikan palsu.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Nama Domain Root daripada Subdomain dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn