PDA

View Full Version : str_replace



fmehdi
یک شنبه 11 فروردین 1387, 00:46 صبح
تو یه برنامه از str_replace استفاده کردم که اطلاعات رو از دیتابیس می گیره همه اون چیزایی که قراره جای گزین هم بشن رو میریزیم تو یه آرایه وبهش می دم ...
مشکل اینجاس که میاد کلمات مشابه رو هم جای گزین می کنه، مثلا اگه به mah جایگزین maah رو داده باشد و حالا mahdi رو بهش بدین maah di رو بر می گردونه که اشتباه است و من فقط می خوام جای mah اون کلمه جایگزین شه .

پیشاپیش تشکر می کنم.

tabib_m
یک شنبه 11 فروردین 1387, 21:12 عصر
به جای این که دنبال "mah" بگردی، دنبال " mah " بگرد و با " maah " جایگزینش کن.
البته این روش باعث میشه که اگر کلمه ی mah در ابتدا یا انتهای رشته باشه، یا این که قبل یا بعدش از کاراکتر های نقطه، ویرگول و ... استفاده شده باشه، replace صورت نگیره.
بستگی داره که دقیقا میخوای چه اتفاقی بیافته، و منظورت از یک کلمه در رشته، دقیقا چیه و ...

در کل، راه های منطقی تری برای انجام این کار، مثل استفاده از تابع preg_replace (http://ir.php.net/manual/en/function.preg-replace.php) وجود داره. ولی خوب یک مقدار نیاز به دقت داره.

موفق باشید.

fmehdi
یک شنبه 11 فروردین 1387, 23:10 عصر
درود!
من همین کار رو انجام دادم که به همین دلیل مجبور شدم به اول و آخر متن اصلیم هم یه فاصله ایجاد کنم . گفتم شاید یه تابع اساسی تر تو این زمینه باشه ..
در هر صورت تو این پروژه تمایلی به ورود به دنیای پردازش رشته ها و عبارات منظم ندارم !!!
در هر صورت بدورد !!