Sto usando il modello Underscore (che si basa sul Microtemplate di John Resig) e ogni volta che provo a sostituire interruzioni di riga al suo interno, ottengo strani comportamenti. Per esempio, se ho testo come questo:Underscore/Microtemplate Sostituisci interruzioni di riga - Strange Behaviour
var message = 'Line1\r\n\r\nLine2';
posso sostituire correttamente interruzioni di riga con le etichette br se faccio questo:
$('#example1_no_template').html(message.replace(/\r?\n/g, '<br />'));
Tuttavia, se provo a sostituire le interruzioni di linea all'interno della sottolineatura modello con il codice di esempio riportato di seguito, non ho ricevuto nessun tag br inserito:
<script id="template1" type="text/html">
<%= message.replace(/\r?\n/g, '<br />') %>
</script>
<script>
var template1 = _.template($('#template1').html());
$('#example1_template').html(template1({ message: message }));
</script>
E stranamente, se cambio la mia espressione regolare all'interno del modello per quanto segue, poi ho tutti i tipi di tag br I inserite in modo tutto il luogo:
<script id="template3" type="text/html">
<%= message.replace(/[\r\n?]/g, '<br /><br />') %>
</script>
Tutti questi comportamenti sono mostrati in questo violino: http://jsfiddle.net/GHtDY/5/
Qualsiasi idea di cosa sta succedendo? È possibile sostituire le interruzioni di riga all'interno del modello?
Ottima spiegazione. Grazie. –