Пустые переводы строк не отображаются при предварительном просмотре с использованием 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 чтобы проверить это.