در یک آرایه از رشته‌ها (مثلاً خطوط لاگ یا پیام‌ها)، با استفاده از تابع stripos در PHP تمام رشته‌هایی که شامل کلمه "error" (بدون توجه به حروف بزرگ/کوچک) هستند فیلتر کرده و تعداد آن‌ها را نمایش دهید.

9.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:47

0.0

برای حل مسئله می‌توانید با حلقه foreach یا تابع array_filter روی آرایه حرکت کنید و برای هر رشته از stripos استفاده کنید و بررسی کنید که نتیجه !== false باشد (توجه کنید مقدار صفر به معنی یافتن در ابتدای رشته است). پس از فیلتر، از count() برای شمارش نتایج استفاده کنید؛ در پردازش متن‌های چندبایتی از mb_stripos بهره ببرید و در صورت نیاز به استخراج متن‌های پیرامونی یا الگوهای پیچیده از preg_match/Regex کمک بگیرید. این مسئله مرتبط با پردازش متن و تحلیل داده‌های متنی است و استفاده از توابع داخلی PHP و توابع آرایه‌ای کار را ساده و بهینه می‌کند.

توسط پژوهشگر در 201 روز قبل ساعت 03:47
دسته بندی ها: PHP PHP for beginner
sara در 201 روز قبل ساعت 05:15

برای فیلتر کردن آرایه‌ای از خطوط که کلمه 'error' را به‌طور غیر حساس به حروف پیدا می‌کند، می‌توانید از array_filter همراه با stripos یا mb_stripos استفاده کنید. توجه کنید مقدار بازگشتی در stripos/mb_stripos برابر با false نیست، زیرا اگر واژه در ابتدای رشته باشد، مقدار 0 برمی‌گردد؛ پس مقایسه باید با !== false انجام شود. اگر متن‌ها دارای کاراکترهای چندبایتی هستند، استفاده از mb_stripos توصیه می‌شود تا خطاهای تشابه ناشی از رمزگذاری جلوگیری شود. برای دقیق‌تر بودن مطابقت با واژه صرفاً، می‌توانید از regex با گزینه i و مرز واژه \berror\b استفاده کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری