یک اسکریپت PHP بنویس که با استفاده از تابع str_replace عنوانهای ستونهای یک فایل CSV (شامل عنوانهای فارسی) را طبق یک نگاشت مشخص به عنوانهای انگلیسی تبدیل کرده و نتیجه را در یک فایل CSV جدید ذخیره کند.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:36 0.0
برای حل این مسئله فایل CSV را با fopen و fgetcsv باز کنید، سطر اول (header) را خوانده و با استفاده از str_replace و آرایههای جستجو/جایگزینی عنوانها را تبدیل کنید، سپس هدر جدید را با fputcsv در فایل خروجی بنویسید و بقیه ردیفها را همانطور منتقل کنید. نکات مفید: str_replace میتواند آرایهها را بپذیرد، به کدگذاری (UTF-8) و جداکننده CSV توجه کنید، و در صورت نیاز به تطبیق پیچیدهتر میتوانید از عبارات منظم (preg_replace) استفاده نمایید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای کار با CSVهای فارسی، از UTF-8 بدون BOM استفاده کنید یا خروجی را با BOM مناسب بسازید تا نمایش درست باشد. استفاده از str_replace با آرایههای جستجو/جایگزینی روی header کار میدهد اما حتماً تطبیق دقیق کاراکترهای فارسی را بررسی کنید. اگر نگاشت شما پیچیدهتر شد، میتوانید از preg_replace با الگوهای Unicode بهره ببرید؛ در غیر این حالت str_replace برای نگاشت ساده کافی است. همچنین به تنظیم درست جداکننده CSV و رمزگذاری هنگام خواندن و نوشتن با fgetcsv و fputcsv توجه کنید و ردیفهای باقیمانده را همانطور کپی کنید.
گزارش