2015-07-04 4 views
2

Я пытаюсь использовать tinyMCE с моим проектом Laravel. Проблема в том, что когда я храню новую статью, html-теги не работают. Они обнаруживаются как обычный текст:Laravel 5.1 и tinyMCE

enter image description here

Это код реализован в create.blade.php:

<script type="text/javascript" src="{{ asset('/js/tinymce/tinymce.min.js') }}"></script> 
<script type="text/javascript"> 
    tinymce.init({ 
     selector : "textarea", 
     plugins : ["advlist autolink lists link image charmap print preview anchor", "searchreplace visualblocks code fullscreen", "insertdatetime media table contextmenu paste jbimages"], 
     toolbar : "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image jbimages", 
    }); 
</script> 
+1

Пометка по умолчанию отключена в Laravel. Вы используете '{!! $ article-> content !!} 'вместо' {{$ article-> content}} 'для рендеринга вашего тела? – maiorano84

+0

{{$ article-> body}} Я использую его вот так. Но моя форма написана так: {!! Форма :: open() !!} – feknaz

+0

Теперь он работает! Спасибо! – feknaz

ответ

6

Markup экранируются по умолчанию в Laravel. Если вы храните текст в базе данных, которая содержит разметку, вы либо хотите применить поглотитель к вашим красноречивым моделям, которая будет его для экранирования в вас, или использовать следующий синтаксис: Клинок

{!! $model->text !!} 

Когда дело с неэкранированным я бы рекомендовал ограничить теги, которые могут быть применены в вашем редакторе TinyMCE, используя атрибут valid_elements.