получить длину строки:
$string_length = strlen($string);//getting the length of the string your working with
$random_position = 2;//generate random position
генерирует «случайный» символ:
$characters = "abcd..xyz012...89-_";//obviously instead of the ... fill in all the characters - i was just lazy.
получение случайного символа из строки символов:
$random_char = substr($characters, rand(0,strlen($characters)), 1);//if you know the length of $characters you can replace the strlen with the actual length
разбить строку на 2 части:
$first_part = substr($string, 0, $random_position);
$second_part = substr($string, $random_position, $string_length);
добавление случайного символа:
$first_part .= $random_char;
объединяя их вместе:
$new_string = $first_part.$second_part;
это может быть не самый лучший способ, но я думаю, что это следует сделать ...