PDA

View Full Version : سوال: چجوری یه کاراکتر رو به یه کاراکتر دیگه تبدیل کنم ؟



mohamad3519
چهارشنبه 26 شهریور 1393, 16:42 عصر
سلام من یه کد میخوام که هرچی کاراکتر فاصله (Space) توی متن هست رو به ویرگول انگلیسی تبدیل کنه
مثلا :
سلام اسم من محمده
تبدیل بشه به :
سلام,اسم,من,محمده

Golsha
چهارشنبه 26 شهریور 1393, 16:46 عصر
echo str_replace(' ',',',$text);


سلام ، اولین پارامتر چیزیه که میخوای عوض کنی ، دومیش چیزیه که قراره عوض بشه ، سومیشم متن اصلیه که میخوای تغییرش بدی

این تابع یه مقداری رو بر میگردونه که متن مورد نظر شماست

2undercover
چهارشنبه 26 شهریور 1393, 16:50 عصر
این تابع فکر می کنم بهتر باشه:

$string = strtr($string, ' ', ',');


البته بستگی به کاری که می خواهید انجام بدهید داره.

اگر فرضا بخواهید تمام کاراکتر های a به b و تمام کاراکتر های b به c تبدیل بشوند. اگر از تابع str_replace بدین شکل استفاده کنید:



$string = 'abc';
str_replace(array('a', 'b'), array('b', 'c'), $string);


نتیجه نهایی رشته "ccc" خواهد بود چون تابع اول همه ی a هارو به b تبدیل می کنه و دفعه ی بعدی اون a هایی که b تبدیل شدند رو هم به c تبدیل می کنه.

در حالی که تابع strtr اینجوری نیست.

mohamad3519
چهارشنبه 26 شهریور 1393, 18:02 عصر
echo str_replace(' ',',',$text);


سلام ، اولین پارامتر چیزیه که میخوای عوض کنی ، دومیش چیزیه که قراره عوض بشه ، سومیشم متن اصلیه که میخوای تغییرش بدی

این تابع یه مقداری رو بر میگردونه که متن مورد نظر شماست


این تابع فکر می کنم بهتر باشه:

$string = strtr($string, ' ', ',');


البته بستگی به کاری که می خواهید انجام بدهید داره.

اگر فرضا بخواهید تمام کاراکتر های a به b و تمام کاراکتر های b به c تبدیل بشوند. اگر از تابع str_replace بدین شکل استفاده کنید:



$string = 'abc';
str_replace(array('a', 'b'), array('b', 'c'), $string);


نتیجه نهایی رشته "ccc" خواهد بود چون تابع اول همه ی a هارو به b تبدیل می کنه و دفعه ی بعدی اون a هایی که b تبدیل شدند رو هم به c تبدیل می کنه.

در حالی که تابع strtr اینجوری نیست.


ممنونم
کدی که گفتین درست کار میکنه و دقیقا همونی بود که من میخواستم ولی یه مشکلی هست.اون متنی که من میخوام فاصله هاش به ویرگل تبدیل شه عنوان مطلبه.سایت من هم با وردپرس کار میکنه.برای اینکه عنوان نوشته رو بیارم باید
<?php the_title(); ?> رو بذارم وسط کدی که گفتین.اما بعد دیگه کد درست کار نمیکنه.فکر کنم بخاطر اینه که خود عنوان نوشته با کد PHP میاد . . . :(

2undercover
چهارشنبه 26 شهریور 1393, 22:19 عصر
echo strtr(get_the_title(), ' ', ',');

mohamad3519
پنج شنبه 27 شهریور 1393, 09:05 صبح
echo strtr(get_the_title(), ' ', ',');


خیلی ممنون :قلب::قلب::قلب: