On Sunday, 24 April 2011 at 16:44, 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. I would probably go with http://php.net/preg_replace_callback -Stuart -- Stuart Dallas 3ft9 Ltd http://3ft9.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php