$var = "Hi there"."<br/>"."Welcome to my website"."<br/>;"
echo $var;
PHPで改行を処理するエレガントな方法はありますか? 他の言語についてはわかりませんが、C++ にはeol
、より読みやすくエレガントに使用できるものがありますか?
ありがとう
$var = "Hi there"."<br/>"."Welcome to my website"."<br/>;"
echo $var;
PHPで改行を処理するエレガントな方法はありますか? 他の言語についてはわかりませんが、C++ にはeol
、より読みやすくエレガントに使用できるものがありますか?
ありがとう
私はこれを定義しました:
if (PHP_SAPI === 'cli')
{
define( "LNBR", PHP_EOL);
}
else
{
define( "LNBR", "<BR/>");
}
この後、使いLNBR
たい場所で使用します\n
。
私はこれまでうまくいった関数を書くことになりました:
// pretty print data
function out($data, $label = NULL) {
$CLI = (php_sapi_name() === 'cli') ? 'cli' : '';
$gettype = gettype($data);
if (isset($label)) {
if ($CLI) { $label = $label . ': '; }
else { $label = '<b>'.$label.'</b>: '; }
}
if ($gettype == 'string' || $gettype == 'integer' || $gettype == 'double' || $gettype == 'boolean') {
if ($CLI) { echo $label . $data . "\n"; }
else { echo $label . $data . "<br/>"; }
}
else {
if ($CLI) { echo $label . print_r($data,1) . "\n"; }
else { echo $label . "<pre>".print_r($data,1)."</pre>"; }
}
}
// Usage
out('Hello world!');
$var = 'Hello Stackoverflow!';
out($var, 'Label');
PHP 改行では、PHP_EOL (END of LINE) を使用できます。これは "\n" として機能しますが、html ページには表示できません。行を改行するには HTML 改行を指定する必要があるためです。
define を使用して使用できます
define ("EOL","<br>");
その後、あなたはそれを呼び出すことができます
あまり「エレガント」ではなく、ちょっと無駄ですが、コードがどのように見えるかが本当に気になる場合は、独自の派手なフラグを作成してから str_replace を実行できます。
Example:<br />
$myoutput = "After this sentence there is a line break.<b>.|..</b> Here is a new line.";<br />
$myoutput = str_replace(".|..","<br />",$myoutput);<br />
また
how about:<br />
$myoutput = "After this sentence there is a line break.<b>E(*)3</b> Here is a new line.";<br />
$myoutput = str_replace("E(*)3","<br />",$myoutput);<br />
最初の方法を「中指スタイル」、2番目の方法を「ヤギスタイル」と呼んでいます。
ブラウザに出力しているため、 を使用する必要があります<br/>
。それ以外の場合は\n
、\r
または両方が組み合わされています。
まあ、他の言語と同様に、それを行うにはいくつかの方法があります。
以前の回答者が述べたように、"<br/>"
は従来の意味での改行ではなく、HTML の改行です。このための組み込みの PHP 定数については知りませんが、いつでも独自の定数を定義できます。
// Something like this, but call it whatever you like
const HTML_LINEBREAK = "<br/>";
一連の行を出力する場合 (たとえば、文字列の配列から)、次のように使用できます。
// Output an array of strings
$myStrings = Array('Line1','Line2','Line3');
echo implode(HTML_LINEBREAK,$myStrings);
ただし、一般的に言えば、PHP の echo/print ステートメント内に HTML をハードコーディングすることは避けてください。HTML をコードの外に置くことができれば、長い目で見ると物事がはるかに柔軟で保守しやすくなります。
\n私にはうまくいきませんでした。\ nは、送信した電子メールの本文に表示されます。これが私が解決した方法です。
str_pad($ input、990); //スペースが990カットオフまでパディングされるようにします。