In Reply to @gptcrosa @esacrosa No se ruby pero convertis la lista de start/end a un map de posicion a apertura/cierre del markup y despues recorres el texto plano y cuando legas a cada pos del map metes antes o despues el val de ese key dependiendo si es apertura o cierre.