2012-02-16 3 views
2

現在、正規表現を使用してテキストエリア値の改行を<p>タグに変換していますが、この新しくフォーマットされたテキストブロックがページに挿入され、正常に動作しています。テキストブロックは再編集することができ、すなわちテキストブロックを編集のためにテキストエリアに戻すことができる。 <p>タグを新しい行に置き換えるために使用できる正規表現はありますか?そのため、テキスト領域内のテキストを編集している間はスペースが保存されますか?regexを使って段落要素を改行する方法はありますか?

(これはJavaScript/jQueryと共に使用されます)。

答えて

3

私はあなたが各<p>の内容を取得するjQueryのクエリを活用して、\nでそれらを結合示唆:これは素晴らしい仕事余分なラインを持つ

function getTexts(selector) { 
    var textContents = $(selector).map(function(i, item) { 
    return $(item).text(); 
    }); 

    return textContents.join("\n\n"); 
} 

$("#theTextarea").val(getTexts("#someContainer > p")); 
+0

おかげで、:) – Kerry

1

正規表現を使用する代わりに、各p要素を繰り返し処理し、テキストを抽出して、それぞれpのテキスト+改行文字で文字列を構築することができます。

var html = $('<div>' + text + '</div>'); 
var plain = ''; 

$(html.find('p')).each(function() { 
    plain += '\n' + $(this).text(); 
}); 
関連する問題