1

私は現在、このコードを使用して、データベースから複数行のテキストを印刷しています

$query_content= "select * from home ";
$result_content= mysql_query($query_content,$con);
while ($text = mysql_fetch_array($result_content))
{
    $content = $text['homecontent']; 
}

そして、このHTMLコードを使用します。

<p> 
<?php print $content; ?>
<p/>

データベース内のテキストは次のとおりです。

abc
def
ghi

しかし、私はこれを手に入れています

abc def ghi

何か案は?

ありがとう。

4

2 に答える 2

5

これには、phpの組み込み関数nl2brを使用できます。\n\r(改行) を htmlの<br>.

<p> 
    <?php
        print nl2br( $content );
    ?>
<p/>

できれば、xhtml または html5 と互換性のある Web サイトをお持ちの場合は、xhtml を互換性のあるtrueものにするために2 番目のパラメーターを指定する必要があります。<br><br />

<p> 
    <?php
        print nl2br( $content, true );
    ?>
<p/>
于 2012-08-01T03:12:19.707 に答える
3
echo str_replace(array("\r\n", "\n", "\r"), "<br>", $content);

問題は、テキストに改行「\n」、「\r」またはその組み合わせがあり、html ではスペース (スペース文字) として表示されることです。html に実際の「改行」を挿入するには、タグ<br/>を使用する必要があります。そこで、すべての改行記号を <br> html タグに置き換える簡単な例を書きました。

PHPには、ほぼ同じことを行う特別な関数が存在string nl2br ( string $string [, bool $is_xhtml = true ] )しますが、より迅速かつ正確に機能すると思います。

于 2012-08-01T03:07:21.683 に答える