Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Замена с генерацией случайного числа
Форумы портала PHP.SU » » Вопросы новичков » Замена с генерацией случайного числа

Страниц (1): [1]
 

1. KingStar - 11 Июня, 2012 - 21:40:45 - перейти к сообщению
Всем привет, и заранее всем спасибо за помощь. Появилась задача в строке определенный символ (например *) заменить на случайно генерированное число, делаю вот так

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.         $str = 'proverka * zameny * na * sluchaynoe * chislo';
  4.         $content = str_replace('*', mt_rand(0, 320), $str);
  5.  
  6.  


но при этом все символы меняются на одно число, а нужно чтобы каждая замена менялась на новое число

HELP!!!
2. avtor.fox - 11 Июня, 2012 - 21:43:58 - перейти к сообщению
KingStar пишет:
делаю вот так
как?

PHP:
скопировать код в буфер обмена
  1. $str = 'asdasdasd*asdasdasd';
  2. echo str_replace('*', rand(1, 100), $str);
3. KingStar - 11 Июня, 2012 - 21:45:15 - перейти к сообщению
я нечаяно сохранил тему, не дописав, вот и я делаю точно также, но мне нужно другое решение
4. avtor.fox - 11 Июня, 2012 - 21:45:31 - перейти к сообщению
Ааа, вот оно что.
5. Мелкий - 11 Июня, 2012 - 21:52:10 - перейти к сообщению
Пожалуй, проще будет
PHP:
скопировать код в буфер обмена
  1. $sOut = preg_replace_callback('@\*@ms', function(){return mt_rand(1,100);}, $sInput);
6. KingStar - 11 Июня, 2012 - 22:14:29 - перейти к сообщению
Спасибо большое - то что нужно Улыбка

 

Powered by ExBB FM 1.0 RC1