در یک آرایه از رشتههای لاگ، برای هر رشته موقعیت آخرین رخداد کلمه "error" (بدون توجه به حروف بزرگ/کوچک) را با استفاده از strripos پیدا کرده و بخش متن بعد از آن را استخراج و در آرایهای جدید ذخیره کنید.
16.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:31 0.0
با استفاده از PHP و تابع strripos میتوانید بهصورت حساس به حروف بزرگ/کوچک آخرین وقوع زیررشته را پیدا کنید؛ strripos موقعیت عددی یا false برمیگرداند، پس حتماً با !== false چک کنید. پس از یافتن موقعیت، با substr از آن موقعیت + strlen('error') تا انتهای رشته را استخراج کنید؛ این کار را میتوان با یک حلقه foreach یا array_map انجام داد. این تمرین مرتبط با پردازش متن و آنالیز دادهها است — رسیدگی به مواردی که مقدار یافت نمیشود و پاکسازی (trim) خروجی از نکات مهم است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته: هنگام یافتن آخرین رخداد "error" با strripos حتماً نتیجه را با !== false چک کنید چون این تابع یا موقعیت عددی یا false برمیگرداند. پس از بهدستآوردن موقعیت، با substr از pos + strlen('error') تا انتها استخراج و خروجی را trim کنید تا فاصلهها یا نویز اضافی حذف شوند. برای اعمال روی آرایه از array_map یا foreach استفاده کنید و برای رشتههایی که "error" ندارند مقدار جایگزین مشخص (مثلاً null یا '') ذخیره کنید. اگر لاگها به UTF-8 یا دیگر کاراکترهای چندبایتی هستند از توابع mb_* یا یک پیادهسازی امن برای یافتن و برش آخرین رخداد استفاده کنید تا خطاهای موقعیت برحسب بایت رخ ندهد.
گزارش