"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استخراج أسماء النطاقات الجذرية من النطاقات الفرعية في PHP؟

كيفية استخراج أسماء النطاقات الجذرية من النطاقات الفرعية في PHP؟

تم النشر بتاريخ 2024-11-25
تصفح:224

How to Extract Root Domain Names from Subdomains in PHP?

استخراج أسماء النطاقات من النطاقات الفرعية في PHP

في PHP، يعد الحصول على اسم المجال الجذر من نطاق فرعي مهمة شائعة. خذ بعين الاعتبار سيناريو حيث تواجه متغيرات مثل هذه:

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

أنت تهدف إلى تحويل هذه القيم إلى أسماء النطاقات الجذرية الخاصة بها، مثل example.com أو example.org. ولتحقيق ذلك، يلزم وجود وظيفة جيدة الصياغة.

الحل

يوضح المقتطف التالي وظيفة تسمى get_domain() التي تستخرج اسم المجال الجذر بشكل فعال:

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

تستخدم هذه الوظيفة وظيفة parse_url() المضمنة لتقسيم عنوان URL واسترداد المكون المضيف. بعد ذلك، يستخدم تعبيرًا عاديًا للتحقق من صحة اسم النطاق الجذر واستخراجه، مما يضمن التزامه باصطلاحات تسمية النطاق الشائعة.

من خلال استدعاء get_domain() بعنوان URL المطلوب، يمكنك عزل اسم النطاق الجذر بسهولة. :

print get_domain("http://somedomain.co.uk"); // outputs 'somedomain.co.uk'

في الحالات التي لا يتوافق فيها عنوان URL مع بنيات النطاق المقبولة، تتعامل الوظيفة بأمان مع حالات الحافة هذه عن طريق إرجاع خطأ.

بيان الافراج أعيد طبع هذه المقالة على: 1729555699 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3