我想使用字母,数字和特殊符号生成一个包含50个字符串的随机字符串。
以下代码对我来说很好。
但问题是,如果我添加特殊符号<
我不能正常工作
请帮助。
<?php
$complete_string = NULL;
$generated_string = NULL;
$generated_string_length = 50;
$lower_case_string = 'abcdefghijklmnopqrstuvwxyz';
$upper_case_string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$numbers_string = '0123456789';
$special_symbols_string = ',./?;:"[]{}+=-_)(*&^%$#@!~`>'; // All Special Symbols without <
$complete_string = $complete_string.$lower_case_string.$upper_case_string.$numbers_string.$special_symbols_string;
$generated_string = substr(str_shuffle(str_repeat($complete_string, ceil($generated_string_length/strlen($complete_string)) )),1,$generated_string_length);
echo $generated_string;
?>
答案 0 :(得分:1)
function randstr ($len=10, $abc="abcdefghijklmnopqrstuvwxyz,./?;:[]{}+=-_)(*&^%$#@!~`>") {
$letters = str_split($abc);
$str = "";
for ($i=0; $i<=$len; $i++) {
$str .= $letters[rand(0, count($letters)-1)];
};
return $str;
};
echo randstr(50);