0

指定された文字列のすべての文字を、最初の文字を除いたアスタリスクに置き換えようとしています。私はこれを試しました:

$AnswerArr = str_split($Answer);
$AnswerCount = count($Answer);
$Toreplace = $AnswerCount - 1;
$ReplaceAnswer = str_replace($AswerArr['0'], "*", $Answer, $Toreplace);

しかし、これは機能しません。正規表現を使用する必要がありますか?

提供された最初の答えを使用して:

Warning: substr() expects parameter 1 to be string, array given in /var/www/New/API/FormValidation.php on line 15

Warning: strlen() expects parameter 1 to be string, array given in /var/www/New/API/FormValidation.php on line 15

Warning: str_repeat() [function.str-repeat]: Second argument has to be greater than or equal to 0 in /var/www/New/API/FormValidation.php on line 15
4

2 に答える 2

1

どうですか:

$ReplaceAnswer = substr($Answer, 0, 1) . str_repeat('*', strlen($Answer) - 1);
于 2013-01-11T03:21:26.967 に答える
1

これは機能するはずです。

$tmp = preg_replace('/(?!^)[\S \t]/', '*', $inputstr);
于 2013-01-11T03:25:13.893 に答える