3

文字列を取得してテキストエリアに貼り付けるために使用する、この非常に単純な br2nl 関数があります。何らかの理由で、一部の行の端から一部の文字が切り取られています。これが私の例です: http://jsfiddle.net/byZnE/

この例では、「。」が表示されます。(ピリオド) は、テキストエリアの文から削除されています (「情報に関するテストはここに移動できます。」)。なぜこれが起こっているのですか、それを止めるために関数で何を変更できますか?

4

1 に答える 1

0

コードの次の行に問題があります。

return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, breakTag);

ここで行うことは、行末記号の前の記号 ('>' でない場合) と行末記号自体の両方を置き換えることです。

ただし、修正するのは非常に簡単です。変更するだけです...

return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag);

そして、私の意見では、ここでstr + ''は冗長です。

于 2012-06-15T07:12:12.677 に答える