Пустые переводы строк не отображаются при предварительном просмотре с использованием parsedown и codeigniter

Я использую parsedown и codeigniter. На моем текстовом поле, если я добавил несколько пустых строк, они не отображаются в предварительном просмотре. Это только добавляет один \n в окне предварительного просмотра

Как показано на этом изображении Примечание: предварительный просмотр - это нижняя рамка изображения

введите описание изображения здесь

Как вы можете видеть в верхнем поле, которое является текстовой областью. Прямо перед последней строкой есть большой разрыв. Это не показывает, что в предварительном просмотре? Если я попытаюсь заменить символы новой строки на br или nlbr, это повлияет на код с отступом при разборе

Вопрос с использованием codeigniter и parsedown, как я могу убедиться, что при выводе его с контроллера, будет отображаться одинаковое количество строк.

скрипт

<script type="text/javascript">
$( document ).ready(function() {
    $('#editor').on('paste cut mouseup mousedown mouseout keydown keyup', function(){
        var postData = {
            'html' : $('#editor').val(),
        };
        $.ajax({
            type: "POST",
            url: "<?php echo base_url('example/preview');?>",
            data: postData,
            dataType: 'json',
            success: function(json){
                $('#output').html(json['output']);
            }
        });
    });
});
</script>

контроллер

<?php

class Example extends CI_Controller {

public function __construct() {
    parent::__construct();
    $this->load->library('parsedown');
}

public function index()
{
    $this->load->view('example_view');
}

public function preview() {
    $data['success'] = false;
    $data['output'] = '';

    if ($this->input->post('html')) {
        $data['success'] = true;
        // Using br or nlbr effect the code indents so can not use it.
        $data['output'] = str_replace('\n', '<br/>', $this->parsedown->text($this->input->post('html')));
    }

    echo json_encode($data);
}

1 ответ

Вам нужно использовать двойные теги для создания пустой строки.

т.е.

Something on this line
<br><br>
This line has a blank line above it.

Вы можете решить, что нужно для более чем одной пустой строки.

Есть игра в http://parsedown.org/demo чтобы проверить это.

Другие вопросы по тегам