REGEX用于屏蔽除第一个和最后一个字符之外的所有字符

问题描述

| 我想屏蔽字符串中除第一个和最后一个字符以外的所有字符。我尝试过这样的事情:
<?PHP
$count = 0;
$string=\'asdfbASDF1234\';
echo preg_replace(\'/(?!^)\\S/\',\'*\',$string,-1,$count);
?>
它会屏蔽除第一个字符以外的所有字符。正确的正则表达式是什么?     

解决方法

        这是您想要的正则表达式:
$string=\'asdfbASDF1234\';
echo $string.\"\\n\";
echo preg_replace(\'/(?!^.?).(?!.{0}$)/\',\'*\',$string);
    ,        为什么不使用
str_repeat()
$length = strlen($in); 
$out = $in[0] . str_repeat(\'*\',$length - 2) . $in[$length-1]; 
    ,        任何想掩盖所有字母但给定句子中每个单词的第一个的人:
   function maskele($in){
$kelimeler=explode(\" \",$in);
$isim=null;
foreach ($kelimeler as $kelime){
$length = strlen($kelime);
$out = $kelime[0] . str_repeat(\'*\',$length - 1) ; 
$isim.=$out. \" \";
}
return $isim;

}