Aqui te muestro:Hola, ahi falta mucho código para poder ayudarte, la función completa, template y replaceMenuLoop.
Es correcto.Sin embargo ahora que veo tu codigo bien y lo comparo con el que te envie, tengo dudas, tu codigo esta remplazando cada marcador <name> con el valor de entry[prop] donde el prop es el valor capturado anteriormente en el array data.items, luego estas remplazando cada instancia de <li> con el resultado anterior, por lo que al final si te devuelve una cadena de Jane Jane Jane.
Esto es sólo un ejemplo, si lo hiciera así entonces sería muy complicado.Bueno, creo que es un poco mas sencillo, lo puedes hacer de este modo:
<div class='menus'>
<div class='menu'>
<li>
<div> <- Identifica este y lo reemplazas (esto hara que quede li)
<a class='name'><name></a>
</div>
</li>
</div>
</div>
return template.replace(/<div>([\s\S]*?)<\/div>/g, replaceMenu);
}
<div class='menus'>
<div class='menu' var="loop">
<a class='name'><name></a>
</div>
</div>
quieres que el resultado siga siendo una lista pero que esta vez sea únicamente dentro del div que tiene var='loop' ?Esto es sólo un ejemplo, si lo hiciera así entonces sería muy complicado.
Este código crecerá con varios bucles.
¿Crees que puedes hacerlo de esta manera entonces?
Simplemente modificando este código: return template.replace(/<div>([\s\S]*?)<\/div>/g, replaceMenu);
quieres que el resultado siga siendo una lista pero que esta vez sea únicamente dentro del div que tiene var='loop' ?
Por que anteriormente me habias dicho que querias este resultado: