4

PHPで最初と最後の文字を除く文字列のすべての文字をアスタリスクに置き換える方法は?

たとえば、になるtest必要がt**tあり、profanityなる必要がありp******yます。

4

5 に答える 5

19
function get_starred($str) {
    $len = strlen($str);

    return substr($str, 0, 1).str_repeat('*', $len - 2).substr($str, $len - 1, 1);
}


$myStr = 'YourName';
echo get_starred($myStr); //should show Y******e 
于 2013-04-18T18:11:55.033 に答える
0
$str = "test";
$len = strlen($str);
$str1 = '';
for($i=0; $i < $len; $i++) {
   if($i != 0 && $i != ($len-1)) {
       $str1 .= '*';
   } else {
       $str1 .= $str[$i];
   }
}

echo $str1;

上記のコードを使用します。これはあなたの要件を満たします。

于 2013-04-18T18:11:37.860 に答える
0

何かのようなもの

$split_string = str_split($start_string);
$i = 1;
while ( $i < count($split_string)-2 ){
    split_string[$i] = '*';
    $i++;
}
于 2013-04-18T18:13:12.420 に答える
-1

*bcdefghijklm*これにより、変数の最初と最後の類似文字が置き換えられます$text

$text = 'abcdefghijklmn';
$count = strlen($text)-1;
echo str_replace(array($text[0], $text[$count]), '*', $text);
于 2013-04-18T18:18:45.120 に答える