2017-02-21 1 views
0

私はjavascriptでテーブルの.text()を取得する関数を持っています。私はHTMLタグを取り除きましたが、それをテキストファイルに書き出すと、大きなブロブが1つ残っています。javascriptまたはjqueryでテキストファイルに書き込むときに新しい行を作成する

テキストファイルにこの結果を書くとき、私は新しい行を作成するにはどうすればよい:私は配列に分割これを考慮し、それをループするが、私は、私は再びこの問題が発生します感じている

function removeHtml(html) { 
      var result; 
      var rm = new RegExp("</td>", "g"); 
      result = html.replace(rm, "\n"); 
      result = $(result).find("td").text(); 
      alert(result); 
      return result; 
     } 

? \ nを追加すると、.txtファイルに新しい行が追加されず、関数内の警告(結果)に表示されるようになります。

編集:私の交換の中の\ nが引用符で囲まれていなければならないと言われました。私はこれを行い、結果を確認するためのアラートを追加しました。アラートには新しい行がすべて含まれていますが、テキストファイルはまだ1つの長い文字列です。 \ nはファイルに表示されなくなりました。各TRを通じて

function removeHtml(html) { 
    var result; 
    var rm = new RegExp("</td>", "g"); 
    result = html.replace(rm, "\n"); 
    result = $(result).text(); 
    return result; 
} 
+0

は、そのコードを表示しますあなたはタグを削除するために使用します! –

+1

DOMを歩いてテキストを増分的に出力し、必要に応じて書式を適用することは、RegExpのハックよりもずっと面倒ではないでしょう。 – tadman

+1

[replace() '](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)の2番目の引数は、文字列または関数です。 –

答えて

0

var text = ""; // the accumulator 
 

 
$("tr").each(function() { 
 
    text += $(this).text() + "\n"; // for each tr add the text followed by new line 
 
}); 
 

 
console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr><td>ABC: </td><td>mmm</td></tr> 
 
    <tr><td>Lorem: </td><td>Epsom</td></tr> 
 
    <tr><td>LOL</td><td>MOL</td></tr> 
 
</table>

+0

私は結果を返す前にそれを試み、アラートを追加しました。アラートは素晴らしいようですが、一度ファイル内に新しい行ではありません –

+0

その文字列をファイルにどのように格納しますか?どのOSを使用していますか? ''、 ''、 ''をサポートしていますか? –

+0

私はこれを使用します:http://jsfiddle.net/TzVd3/918/ –

0

だけループをし、このように結果を蓄積する:あなたは、単に"\n"'\n'で正規表現を置き換えることができ

+0

これはまだ新しい行を挿入しないで、ページからすべてのタグをつかんでいました –

関連する問題