1
私はテキストエリアを持つフォームを持っています。フォームが送信されると、Datamapperはデータをデータベースに入力します。DB内の改行を保存してZend Frameworkで表示する方法
私の質問今、どのように私はすべての改行をデータベースに保存するのですか?私の見解で は、私はエスケープ()フィルタします。このうちはそれではないだろうと思い
$this->escape($entry->description)'
でしょうか? だから私は、私はそれを保存することになっているのか分からないが、何も変わっていないので、ラインを持ついくつかのテキストは、データベースに直接壊すコピーした
以下
echo nl2br($entry->description)
を使用してみました。
- データベースに保存するにはどうすればよいですか?私は$ table-> insert($ data)を使用します。
- 私のビューに改行を含むテキストを表示するにはどうすればよいですか?
解決策が見つからないため、誰かが助けてくれることを願っています。どうもありがとうございました。私は私の文字列は、複数のラインが所定の位置にまだ壊れてプリントアウトしていたビューで
$db = Zend_Db_Table::getDefaultAdapter();
$db->insert('testing', array('description' => "This is a test\nwith multiple\nlines in the db\n\nmore stuff"));
$select = $db->select()->from('testing');
$results = $select->query();
$row = $results->fetch();
$this->view->description = $row['description'];
// in the view:
echo nl2br($this->description);
:
ありがとうございます。私はあなたのテキストを私のDBにコピーしましたが、\ nでそれをまっすぐに印刷して、改行は表示されません。 – Luka
DBで '\ n'を見ることができれば、それは改行ではなくリテラル' \ 'と' n'で挿入されました。 PHPの '\ n'は改行文字に変換されます。なぜならそれが挿入文字と一緒に動作するからです。 – drew010
そのコードをテストコントローラにコピーして表示するだけの場合は、改行が表示されますか?テーブルに挿入するために必要な最小限のデータを格納するように挿入を調整する必要があります。 – drew010