PDA

View Full Version : مشکل با تابع str_replace



leaping
شنبه 19 بهمن 1392, 13:16 عصر
سلام بر اساتید محترم
این چرا نتیجه مطلوب رو پس نمیده؟


$tc = array('`','1','2','3','4','5','6','7','8');
$tt=array('A1','A2','A3','A4','A5','A6','A7','A8', 'A9');
$tg='4';
echo str_replace($tc,$tt,$tg);


خروجیش میشه این

AAAAA9

در حالی که من انتظار دارم بشه این

A5

2undercover
شنبه 19 بهمن 1392, 14:28 عصر
برای اینکه بار اول 4 رو با A5 عوض می کنه بعد باز دوباره 5ی که توی A5 هست رو با A6 عوض می کنه بعد برای 6 توی A6 هم همینطور الی آخر...

leaping
شنبه 19 بهمن 1392, 15:38 عصر
عجیب فلسفه عجیبی داره
خب باید چیکار کنیم حالا؟

rezaonline.net
شنبه 19 بهمن 1392, 16:07 عصر
بکنش یه چی دیگه خب که این اختلال رو نداشته باشه .

$tc = array('`','1','2','3','4','5','6','7','8');
$tt=array('A1','A2','A3','A4','A5','A6','A7','A8', 'A9');
$tg='4';

$m = array('a','b','c','d','e','f','g','h','i');

$tg = str_replace($tc,$m,$tg);
echo str_replace($m,$tt,$tg);

leaping
شنبه 19 بهمن 1392, 22:32 عصر
بکنش یه چی دیگه خب که این اختلال رو نداشته باشه .

$tc = array('`','1','2','3','4','5','6','7','8');
$tt=array('A1','A2','A3','A4','A5','A6','A7','A8', 'A9');
$tg='4';

$m = array('a','b','c','d','e','f','g','h','i');

$tg = str_replace($tc,$m,$tg);
echo str_replace($m,$tt,$tg);

دمت گرم رضا جان ولی مشکلی هست.
اونم اینکه آرایه اولی یا همونکه سرچ میشه شامل همه حروفها و کاراکترها میشه مگه اینکه بخوام اونهارو هم یه دستکاری بکنم قبل از ورود به آرایه که دارم براش یه تابع مینویسم.
حالا دیگه نمیدونم
نظر دیگه ای نداری؟ :D

leaping
شنبه 19 بهمن 1392, 23:42 عصر
آقا با نوشتن یه تابع حل شد دمتون گرم :D

آقا یه مشکل دیگه پیش اومده
اینکه چطوری کار کنیم با رشته های فارسی با همین تابع من که جواب بده , مشکل داره
این utf8 رو میبایست جای خاصی بکار ببریم؟

اینم نمونش:



$string="ایران";
$parsing = str_split($string);
echo var_dump($parsing);

2undercover
یک شنبه 20 بهمن 1392, 14:59 عصر
http://ir2.php.net/manual/en/book.mbstring.php