日々のアンテナ

日々アンテナを貼って、いろんな情報をキャッチ、発信したいと思います。
2017年10月 ≪  123456789101112131415161718192021222324252627282930 ≫ 2017年12月
TOPお仕事のこと ≫ [javascript]jQueryを使ってエスケープ

[javascript]jQueryを使ってエスケープ

jQuery を使ってエスケープを参考にさせていただきました。

;(function($){
$.escapeHTML = function(val) {
return $("<div/>").text(val).html();
};
})(jQuery);


HTML要素の中のテキストノードにエスケープされていない文字列をいったん入れて、要素のtextを取り出すと、エスケープされた文字列を得ることができる。

頭のいい人は考えることが違うなー。

で、さらに、replace(/\r\n?/g,"<br>")
を追加して、改行コードを変換したら・・・

長文はうまくいくのに短い文章だとうまくいかない。

あいうえおかきくけこさしすせそあいうえおかきくけこさしすせそ
あいうえおかきくけこさしすせそあいうえおかきくけこさしすせそ

はちゃんと

あいうえおかきくけこさしすせそあいうえおかきくけこさしすせそ
あいうえおかきくけこさしすせそあいうえおかきくけこさしすせそ

になるのに









あいうえお

になってしまう。
divに入れた時点で改行が取れてしまうらしい。
短い文章、ってのがどの程度かは検証してないのでよくわからないけど、

divのかわりにpreに入れたら解消されました。

$.ajax({
url : "hoge.txt",
type : "get",
success : function(data){
var str = $("<pre/>").text(data).html();
$("#hogehoge").html(str.replace(/\r\n?/g,"<br>"));
}
});

Comment













非公開コメントにする
Trackback

Trackback URL