Avatar ·

كيف تتحقق مما إذا كانت السلسلة تحتوي على كلمة معينة في PHP؟

مرحبًا بالجميع! أنا مبتدئ في PHP وأكتب سكريبتًا صغيرًا لتصفية التعليقات على موقع. أحتاج إلى التحقق مما إذا كان نص التعليق يحتوي على كلمات محظورة معينة، مثل "spam" أو "advertising". المشكلة هي أنني لا أستطيع إيجاد الطريقة الصحيحة للقيام بذلك. جربت استخدام عامل التشغيل == لكنه لا يعمل مع السلاسل النصية. ثم وجدت الدالة strpos()، لكنها لسبب ما تجد الكلمة حتى داخل كلمات أخرى. على سبيل المثال، عندما أبحث عن كلمة "advertising"، تجدها في كلمة "readvertising" — وهذا غير صحيح. كما أنني لا أفهم كيفية التعامل مع حالة الأحرف: كلمة "Spam" بحرف كبير يجب أيضًا أن تُعتبر تطابقًا. هذا هو الكود الحالي الخاص بي الذي لا يعمل كما ينبغي: ```php $text = "هذا spam، احذفه!"; $word = "spam"; if (strpos($text, $word) !== false) { echo "تم العثور على كلمة محظورة!"; } else { echo "النص نظيف."; } ``` المشكلة هي أنه إذا كتبت "Spam" بحرف كبير، فإن الدالة لا تعمل. وأيضًا — إذا كانت الكلمة جزءًا من