Я пытаюсь сохранить возврат каретки, который находится внутри атрибута данных. Когда атрибут отправляется в index.php, div больше не распознает разрывы строк и выводит весь текст в один большой абзац.
Вот как выглядит HREF с атрибутом:
<?php
$current .=
($i == 1 && $sformat != 'table' && ( $key != $unique_id || $unique_id == '' ) )?"$count.
<a data-toggle=\"modal\" class=\"open-RestrictModal\" href='#my-restrictModal'
data-description=\"".$row["description"]."\" ">".${$key}."</a></dt>":'';
?>
А вот javascript в index.php, который получает атрибут data и превращает его в переменную javascript, а затем отправляет в модальное окно:
<script type="text/javascript">
$(document).on("click", ".open-RestrictModal", function () {
var myDescription = $(this).data('description');
$(".modal-body #description").text( myDescription );
});
</script>
Как уже говорилось, проблема в том, что когда он отображается в модальном режиме, больше нет возврата каретки. Мне нужно получить возврат кареты.
Это ближе всего к тому, что я пытался сделать:
Этот тоже:
Пожалуйста помоги.
Вы пытались дать свой #description
элемент стиля white-space: pre
или похожие?
В противном случае вам придется заменить возврат каретки на разрывы строк HTML: myDescription.replace('\n', '<br>')
Кроме того, я не буду выводить литеральные возвраты каретки в атрибуте HTML (в XML это запрещено, я думаю)
Так что вы должны сделать эту замену в PHP: str_replace("\n", "<br>", $row["description"])
И, наконец, вы не правильно выходите из своего вывода. Что если ваше поле описания содержит символы кавычек "
или другие специальные символы HTML? Вы всегда должны использовать соответствующую функцию экранирования, такую как htmlspecialchars()
,
Других решений пока нет …