Avatar ·

كيفية التحقق مما إذا كانت السلسلة النصية تبدأ بسلسلة فرعية معينة في PHP؟

مرحباً جميعاً! أنا مبتدئ في PHP وأقوم بكتابة سكريبت صغير لمعالجة عناوين URL. أحتاج إلى التحقق مما إذا كانت السلسلة تبدأ ببادئة معينة، مثل "https://" أو "/admin/". في لغات أخرى رأيت دوال مثل startsWith()، لكن في PHP يبدو أنه لا توجد دالة كهذه. حاولت استخدام strpos()، لكنها تُرجع الموضع وليس قيمة منطقية. اضطررت لكتابة حل مؤقت: $url = "https://example.com"; if (strpos($url, "https://") === 0) { echo "يبدأ بـ https"; } هذا يعمل لكنه ليس أنيقاً. يجب عليّ كتابة === 0 باستمرار، وهو أمر يسهل نسيانه أو الخلط بينه وبين !== false. هل هناك طريقة أكثر أناقة؟ ربما دالة مدمجة أو تركيب قصير؟ سأكون ممتناً لأمثلة الكود وشرح كيفية عملها. شكراً! <<>>

أفضل طريقة: استخدام str_starts_with() (PHP 8.0+)

بدءاً من PHP 8.0، ظهرت في اللغة دالة مدمجة str_starts_with() تقوم بما تحتاجه بالضبط. إنها تُرجع