este es mi codigo vue
<template> <a href="#" class="block relative"> <img alt="profil" src="https://www.tailwind-kit.com/images/person/1.jpg" class="mx-auto object-cover rounded-full h-16 w-16 "/> </a> </template> <script> export default { name: 'code' , data() { return {} } , created(){}, methods: {} } </ script>ahora trato este código como una cadena completa, quiero extraer el código de "<plantilla>".
Traté de usar expresiones regulares,
function getStringBetween(str, start, end) { const result = str.match(new RegExp(start + "(.*)" + end)); return result[1]; } let test = str.match(new RegExp('<template>' + "(.*)" + '</template>')); console.log('transferHtml',test);pero el resultado muestra nulo, ¿alguna otra forma de extraer la cadena entre ciertas cadenas?
Parece HTML. Intente usar un analizador de HTML.
var str = "CONTENT_BEFORE<template>foo</template>CONTENT_AFTER"; const parser = new DOMParser(); var parsed = parser.parseFromString(str, "text/html"); var templatetext = parsed.querySelector('template'); console.log(templatetext.innerHTML);Entonces, en tu caso, es
var str = `<template> <a href="#" class="block relative"> <img alt="profil" src="https://www.tailwind-kit.com/images/person/1.jpg" class="mx-auto object-cover rounded-full h-16 w-16 "/> </a> </template> <script> export default { name: 'code' , data() { return {} } , created(){}, methods: {} } </ script>`; const parser = new DOMParser(); var parsed = parser.parseFromString(str, "text/html"); var templatetext = parsed.querySelector('template'); console.log(templatetext.innerHTML);