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

Bagaimana untuk Mengekstrak Domain Root daripada Subdomain dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-10-22 08:13:30168semak imbas

How to Extract Root Domain from Subdomains in PHP?

PHP: Mengeluarkan Domain Root daripada Subdomain

Apabila bekerja dengan nama domain, selalunya perlu untuk memisahkan domain akar daripada mana-mana subdomain. Pertimbangkan pembolehubah yang mengandungi pelbagai struktur domain:

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

Tugas kami ialah mencipta fungsi yang menukar semua variasi ini kepada domain akar yang sepadan, seperti "example.com" atau "example.org." Begini caranya:

Penyelesaian menggunakan Ungkapan Biasa

<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>

Penjelasan:

  • parse_url() memecahkan URL kepada komponennya, termasuk nama domain.
  • Ungkapan biasa hanya mengekstrak domain akar menggunakan kumpulan tangkapan ((?P...))).
  • Corak memastikan bahawa domain terdiri daripada:

    • Aksara abjad angka atau sempang
    • Panjang maksimum 63 aksara untuk subdomain
    • 2-6 sambungan aksara (TLD) dipisahkan dengan titik

Contoh Penggunaan:

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

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak 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