$oldstr='这是等待插入随机字符串的原始字符串,本字符串中含有中文。';
$instr='[待插入字符串]';//可以为链接字符串外链
preg_match_all("/(]*>.*)|()|()/Uis",$oldstr,$arrold1);
$tmpin=array_pad(array(),count($arrold1[0]),'[email protected]@@str');
$oldstr=str_replace($arrold1[0],$tmpin,$oldstr);
$arrold=explode('[email protected]@@str',$oldstr);
$randold=array_rand($arrold);
$arrold[$randold]=rand_in_str($arrold[$randold],$instr,'utf-8');
$oldstr=implode('[email protected]@@str',$arrold);
echo $oldstr=str_replace($tmpin,$arrold1[0],$oldstr);
//var_dump($oldstr);
/**
* 向一个字符串随机插入一个字符串
* @param string $oldstr 老字符串
* @param string $instr 插入的字符串
* @param string $encoding 字符串编码
*/
function rand_in_str($oldstr,$instr,$encoding){
$len = mb_strlen($oldstr,$encoding);
$insert_point = mt_rand(1,$len-1);
$pre_str = mb_substr($oldstr,0,$insert_point,$encoding);
$after_str = mb_substr($oldstr,$insert_point,$len-$insert_point,$encoding);
$newstr = $pre_str.$instr.$after_str;
return $newstr;
}
?>