2010-09-15 15 views
7

Il codice seguente è un esempio di testo inserito in una textarea da un database.Elimina spazi iniziali/finali da textarea utilizzando jQuery?

<textarea id="inputPane" cols="80" rows="40" class="pane"> 
<p> 
    some text here... 
</p> 
    <p> 
    more text here... 
</p> 
</textarea> 

usando del .trim qual è il codice jQuery effettivo per rimuovere tutti gli spazi iniziali e finali e hanno il display textarea molto simile al di sotto jQuery?

<textarea id="inputPane" cols="80" rows="40" class="pane"> 
    <p>some text here...</p> 
    <p>more text here...</p> 
</textarea> 

Ho lavorato su questo per ora senza successo provando varie combinazioni con .trim

$('#inputPane')jQuery.trim(string); 
+1

Si noti che quanto sopra è valido HTML. È necessario sfuggire ai caratteri '<' e '&' all'interno ''. I browser ti consentono di superare l'errore, ma solo fino a quando il tuo testo non contiene la stringa ' bobince

+0

Se hai il controllo sul server e lo stai inviando in un modulo, puoi anche solo fare il analizzare sul server. Probabilmente sarebbe più veloce in quel modo. In PHP, puoi usare la classe 'DOMDocument'. –

risposta

7

Si potrebbe provare qualcosa di simile:

jQuery(function(​$) { 
    var pane = $('#inputPane'); 
    pane.val($.trim(pane.val()).replace(/\s*[\r\n]+\s*/g, '\n') 
           .replace(/(<[^\/][^>]*>)\s*/g, '$1') 
           .replace(/\s*(<\/[^>]+>)/g, '$1')); 
});​ 

che dà il risultato:

<p>some text here...</p> 
<p>more text here...</p> 

Sebbene questo potrebbe non essere a prova di proiettile, dovrebbe dimostrarsi molto più veloce/efficiente rispetto alla creazione di elementi dal valore HTML della textarea.

+0

oh mio Dio ... funziona esattamente come ne abbiamo bisogno! oh Grazie, grazie Kevin. Life saver ... sto respirando di nuovo. ;) Ragazzi su StackOverflow sono semplicemente fantastici. Vorrei poter sviluppare come voi ragazzi. Sono solo uno sviluppatore e progettista front-end di 10+ anni di bassa esperienza e veterano che si è imbattuto recentemente in jQuery. Grazie ancora! – caroline

+0

Prego. Tieni presente che questo potrebbe non funzionare esattamente come desideri con elementi nidificati e così via. Quanto sarà semplice il tuo HTML all'interno di questo '