0

データベースから読み取るテキストに少し問題があります。ユーザーが新しい投稿を確認した後、このようにデータベースに保存します(私がやりたいように)。

ここに画像の説明を入力

ただし、Web ページでは、これらの行は無視され、同じ行のすべてがエコーアウトされます。

ここに画像の説明を入力

これが私のソースコードです。

$objekttekst=str_replace("\\r\\n", "<br>", $obj->innhold);

        $objekttittel=$obj->tittel;
?>
<h2><?=$objekttittel?></h2>

<p><?=$objekttekst?></p>

誰かが私を助けることができますか?ありがとう

4

3 に答える 3

1

関数を使用nl2br()します。

$objekttekst = nl2br($obj->innhold);
于 2013-11-14T23:51:44.637 に答える
1

入力テキストエリアは事前にフォーマットされています。つまり、ユーザーが入力した改行が表示されます。ただし、HTML レンダリング (Web ブラウザー) は、改行が などのタグで明示的に挿入されない限り、入力からの改行を表示しません<BR>

ここにはいくつかのオプションがあります。確かにこれらの 3 つが唯一の選択肢ではありませんが、私が個人的に最も頻繁に使用しているものです。

書式設定済みのテキストを含むフォーム テキストエリア

入力が与えられた同様のテキストエリアにデータ ( objekttekst )を表示したい場合は、次のようにします。

<h2><?=$objekttittel?></h2>
<p><textarea><?=$objekttekst?></textarea></p>

これは、ユーザーがエントリを編集できるようにする必要がある場合に最適です。

プリフォーマット

テキストをそのまま表示したい場合は、いつでも で囲むことができます<PRE>...</PRE>これにより、改行、インデントなどが表示されます。これにより、出力でCourier Newなどの固定幅フォントが使用されることに注意してください。

改行を<BR>タグに変換する

nl2br()別の回答で既に述べたように関数を使用します。詳細については、http: //php.net/manual/en/function.nl2br.phpを参照してください。

追記・・・

多くの場合、HTML ページに表示する前に、データに他の変更を加えたいと思うかもしれませnl2br()は改行を処理しますが、他のより複雑な変更については、正規表現を学ぶ必要があります。

于 2013-11-14T23:59:13.810 に答える
0

<pre>で置き換える代わりに、文字列をタグで\n囲むことができます<br>

例:

  <?php
    $objekttekst=$obj->innhold
    $objekttittel=$obj->tittel;
  ?>
  <h2><?=$objekttittel?></h2>
  <p><pre><?=$objekttekst?></pre></p>
于 2013-11-15T00:03:47.257 に答える