Node + Express + MongodbでWebアプリケーションを作成しております。
CKEditorのようなリッチテキストエディタで、太字や箇条書きなどの装飾を施した文章をデータベースに保存して別の場所に表示させたいのですが、表示させると
<p> <li> あいうえお </li> </p>のようにHTMLのタグがそのままテキストデータとして表示されてしまい、装飾がうまく反映されません。
どのようにすれば、HTMLタグをテキストではなく装飾としてWebページに表示することができるようになるのでしょうか?
初歩的な質問でお恥ずかしいのですが、教えていただけると大変助かります。
//下記はコードの補足です。フルーツというコレクションにデスクリプションという記載を追加するような動作を想定しております。
スキーマの設定
JavaScript
1var FruitSchema = new mongoose.Schema({ 2 description: String, 3});
ROUTING (Create) 設定
JavaScript
1app.post("/fruits", function(req,res){ 2 var name = req.body.description; 3 var newFruit = {description: description}; 4 Fruit.create(newFruit, function(err, newlyCreated){ 5 if(err){ 6 console.log(err); 7 } else{ 8 res.redirect("/fruits") 9 } 10 }); 11});
ROUTING (Show) 設定
JavaScript
1app.get("/fruits/:id", function(req,res){ 2 Fruit.findById(req.params.id).populate("shops").exec(function(err,foundFruit){ 3 if(err){ 4 console.log(err); 5 }else{ 6 console.log(foundFruit); 7 res.render("fruits/show", {fruit: foundFruit}); 8 } 9 }); 10}); 11
入力ページ
Node
1 <div> 2 <textarea name="description"></textarea> 3 <script> 4 CKEDITOR.replace( 'description' ); 5 </script> 6</div>
表示ページ
Node
1 <div> 2 <b><h4>説明</h4></b> 3 <p><%= fruit.description %></p> 4 </div>
回答1件
あなたの回答
tips
プレビュー