On 4/24/2011 8:44 AM, Ron Piggott wrote: > > I am trying to figure out a syntax that will replace each instance of % with a > different letter chosen randomly from the string $puzzle_filler. $puzzle_filler > is populated with the letters of the alphabet, roughly in the same ratio as they > are used. > > This syntax replaces each instance of % with the same letter: > > $puzzle[$i] = str_replace ( "%" , ( substr ( $puzzle_filler , rand(1,98) , 1 ) ) > , $puzzle[$i] ); > > Turning this: > > %ECARBME%TIPLUP%%%%%%%E%% > > Into: > > uECARBMEuTIPLUPuuuuuuuEuu > > Is there a way to tweak my str_replace so it will only do 1 % at a time, so a > different replacement letter is selected? > > This is the syntax specific to choosing a replacement letter at random: > > substr ( $puzzle_filler , rand(1,98) , 1 ); > > Thanks for your help. > > Ron > > The Verse of the Day > âEncouragement from Godâs Wordâ > http://www.TheVerseOfTheDay.info > How about something simple like this? <?php $input = '%ECARBME%TIPLUP%%%%%%%E%%'; $random_chars = range('a', 'z'); echo 'Before: '.$input.PHP_EOL; while ( ($pos = strpos($input, '%') ) !== false ) $input[$pos] = $random_chars[array_rand($random_chars)]; echo 'After: '.$input.PHP_EOL; ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php