با استفاده از تابع stripos در PHP، یک تابع بنویسید که از میان یک آرایه از سطرهای لاگ، تمام سطرهایی را که شامل کلمهٔ "error" به‌صورت غیرحساس به حروف (case-insensitive) هستند فیلتر و برگرداند.

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:35

0.0

برای حل مسأله از حلقه یا array_filter استفاده کنید و برای هر سطر تابع stripos را صدا بزنید؛ توجه داشته باشید که اگر مقدار بازگشتی برابر false نباشد به معنای پیدا شدن زیررشته است (مقدار 0 نیز موقعیت معتبر شروع است). این روش ساده برای پردازش متن و آنالیز لاگ مناسب است و می‌توان با trim و چک کردن مقدار !== false از اشتباهات جلوگیری کرد.

توسط پژوهشگر در 202 روز قبل ساعت 02:35
دسته بندی ها: PHP PHP for beginner
nima در 202 روز قبل ساعت 09:08

نکته‌ای کوتاه: هنگام استفاده از stripos برای یافتن کلمه 'error'، مقدار بازگشتی می‌تواند 0 هم باشد، پس حتماً از !== false استفاده کنید. بهتر است خطوط را با trim تمیز کرده و آنها را به‌وسیلهٔ array_filter با یک closure فیلتر کنید. اگر لاگ‌ها کاراکترهای چندبایتی دارند، stripos به‌خوبی کار نمی‌کند و استفاده از mb_stripos با تنظیم encoding مناسب مفید است. این رویکرد ساده و کارآمد برای پردازش لاگ است و از خطای false-عدم وجود جلوگیری می‌کند.

گزارش

1 پاسخ

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

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