No he podido manejar el salto de línea/nueva línea/retorno de carro en el Editor de Mónaco cuando se procesa con PHP (Laravel). Quiero almacenar el código en MySQL a partir de entonces. Eventualmente, el código almacenado se mostrará en el Editor de Mónaco de todos modos.
¿Cuál es la mejor práctica para hacerlo?
esto no resuelve el problema. las etiquetas estan rotas
// comes from the textarea $code = preg_replace('/\r\n|\r|\n/', '\n', request()->custom_script); $this->storeToMySQL($code);espada:
<label for="">Custom Script</label> <div class="monaco-editor-container" style="height: 250px; border: 1px solid rgb(238, 238, 238);"></div> <textarea name="custom_script" id="monaco_editor_textarea" style="display: none; white-space: pre-line"></textarea> require(["vs/editor/editor.main"], function () { const monacoEditor = monaco.editor.create(document.querySelector('.monaco-editor-container'), { value: `{!! $monacoValue !!}`, language: 'html', base: 'vs', fontSize: "14px", minimap: { enabled: false }, }); $('#monaco_editor_textarea').val(monacoEditor.getModel().getValue()) monacoEditor.onKeyDown(debounce(e => { $('#monaco_editor_textarea').val(monacoEditor.getModel().getValue()) }, 500)) });Creo que resolví este problema. el problema que he tenido todo el tiempo se debe a que la propiedad de value del objeto no puede representar la etiqueta <script>
este es el código de actualización del controlador que resuelve este problema:
$code = preg_replace('/<\/script>/', '<\/script>', request()-> custom_script); $this->storeToMySQL($code);Ahora puede almacenar y mostrar código más complejo como HTML, JS, XML que probé