I have written two functions that will accomplish what you are attempting, if modified. The first is to check for and replace special characters and the 2nd is to select a random password.
function chk_reg_exp($string){
$patterns[0] = '/&/';
$patterns[1] = '/"/';
$patterns[2] = '/</';
$patterns[3] = '/>/';
$patterns[4] = "/'/";
$replacements[0] = '#38';
$replacements[1] = '#34';
$replacements[2] = '#60';
$replacements[3] = '#62';
$replacements[4] = '#39';
preg_replace($patterns, $replacements, $string);
preg_replace('/;/', '#59', $string);
return $string;
}
function get_pass(){
$letters = array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
$first = $letters[rand(0,count($letters)-1)] . $letters[rand(0,count($letters)-1)] . $letters[rand(0,count($letters)-1)];
$second = $letters[rand(0,count($letters)-1)] . $letters[rand(0,count($letters)-1)] . $letters[rand(0,count($letters)-1)];
$num = rand(10,99);
$pass = $first . $num . $second;
return $pass;
}