یک اسکریپت 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) استفاده نمایید.

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

برای کار با CSVهای فارسی، از UTF-8 بدون BOM استفاده کنید یا خروجی را با BOM مناسب بسازید تا نمایش درست باشد. استفاده از str_replace با آرایه‌های جستجو/جایگزینی روی header کار می‌دهد اما حتماً تطبیق دقیق کاراکترهای فارسی را بررسی کنید. اگر نگاشت شما پیچیده‌تر شد، می‌توانید از preg_replace با الگوهای Unicode بهره ببرید؛ در غیر این حالت str_replace برای نگاشت ساده کافی است. همچنین به تنظیم درست جداکننده CSV و رمزگذاری هنگام خواندن و نوشتن با fgetcsv و fputcsv توجه کنید و ردیف‌های باقی‌مانده را همان‌طور کپی کنید.

گزارش

1 پاسخ

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

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