Вход

Просмотр полной версии : Как в div вставить код из базы в виде текста?


accountnujen
17.05.2022, 20:04
Текст находится в переменной. Вывести я его могу вот таким образом: <?= $code['code'] ?>
Мне нужно исключительно средставми js вставить этот код внутрь этого div
document.write('<div id=\"editor\" class=\"editor language-<?= $opti["language"] ?>\"></div>');

Если я просто перед закрытием </div> вставляю <?= $code['code'] ?>, то всё сыпется, потому что он начинает определяться именно как js код.
https://habrastorage.org/webt/62/83/d2/6283d2201cf3d341450748.png

voraa
17.05.2022, 20:36
Не очень понятно, чего именно вы хотите, и что должен содержать ваш див, но ошибку он дает другую - не закрытая скобка после document.write.
В js строки определенные через ' и " нельзя переносить на следующую строку. Если очень надо используйте шаблонные строки `` или конкатенируйте строки с помощью +

Если строка определена, как '...', то в ней можно использовать " без экранировки (\"), а вот символы ' надо экранировать \'
И наоборот.

Идея выводить через <div> код - так себе.
Для этого существует элемент <pre>

accountnujen
17.05.2022, 21:06
voraa,
ну пусть pre будет. Ситуации это не меняет. У меня в php переменной <?= $code['code'] ?> находится текст, который нужно вывести средствами JS. Как только я пытаюсь это сделать - всё сыпется из-за кавычек

voraa
17.05.2022, 21:40
Как только я пытаюсь это сделать - всё сыпется из-за кавычек

Ну так сделайте кавычки, как положено.

Какой код у вас в переменной, и почему его надо выводить именно через document.write?
(Так уже давно никто не делает)
Почему средствами php его нельзя просто вставить в <pre>