私はクライアントに挨拶メッセージをカスタマイズさせるGUIを作らなければなりませんでした。彼らは、ユーザー名の表示場所を示すために%sを使用する必要があることを理解しました。しかし、指定された%sが多すぎると、sprintf
はメッセージToo few arguments
で失敗します。sprintfをうまくいかないようにするには?
余分な%sインスタンスを文字列に残すか、空の文字列に置き換えるかの選択はありますか?
// $greeting_template === 'Welcome to our site %s. Broken: %s'
$output = sprintf($greeting_template, $user_name);
明らかに、他のsprintf書式設定テンプレートもありますが、それらも正常に失敗するはずです。
'@ sprintf'を使って警告を無視しようとしましたが、何もしないようです。 –