printf関数使用時に、出力文字列の改行を行う場合、特殊文字(エスケープシーケンス、エスケープ文字)\nを使用する。以下、使用例。
$a = "aaa"; $b = "bbb"; printf("%s\n%s", $a, $b);
(HTML出力)
aaa bbb
(画面出力)
aaa bbb
上記の例では、\nを使用しても、出力するHTMLでは改行されているが、HTMLでは改行は区切りの意味しか持たないため、画面上では空白一つに置き換えられてしまい、画面出力では改行されない。
画面出力で改行を行うには、nl2br関数を使用する。nl2br関数は改行に相当する特殊文字(\n)の前にHTMLで改行に相当するタグを挿入する。
$a = "aaa"; $b = "bbb"; printf(nl2br("%s\n%s"), $a, $b);
(HTML出力)
aaa<br /> bbb
(画面出力)
aaa bbb