با استفاده از تابع stripos در PHP، یک تابع بنویسید که از میان یک آرایه از سطرهای لاگ، تمام سطرهایی را که شامل کلمهٔ "error" بهصورت غیرحساس به حروف (case-insensitive) هستند فیلتر و برگرداند.
3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:35 0.0
برای حل مسأله از حلقه یا array_filter استفاده کنید و برای هر سطر تابع stripos را صدا بزنید؛ توجه داشته باشید که اگر مقدار بازگشتی برابر false نباشد به معنای پیدا شدن زیررشته است (مقدار 0 نیز موقعیت معتبر شروع است). این روش ساده برای پردازش متن و آنالیز لاگ مناسب است و میتوان با trim و چک کردن مقدار !== false از اشتباهات جلوگیری کرد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکتهای کوتاه: هنگام استفاده از stripos برای یافتن کلمه 'error'، مقدار بازگشتی میتواند 0 هم باشد، پس حتماً از !== false استفاده کنید. بهتر است خطوط را با trim تمیز کرده و آنها را بهوسیلهٔ array_filter با یک closure فیلتر کنید. اگر لاگها کاراکترهای چندبایتی دارند، stripos بهخوبی کار نمیکند و استفاده از mb_stripos با تنظیم encoding مناسب مفید است. این رویکرد ساده و کارآمد برای پردازش لاگ است و از خطای false-عدم وجود جلوگیری میکند.
گزارش