JSでHTMLタグとかをエスケープする

Filed in JavaScript Leave a comment

ありがちな話

$foo.replace(/&/g,'&')
    .replace(/'/g,'"')
    .replace(/</g,'&lt;')
    .replace(/>/g,'&gt;')
    .replace(/\n/g,'<br>');

順番を間違うと、「<」や「>」が多重にくくられたり、改行→brタグあたりがエラいことになったりする。
なったわー。

ごちゃごちゃした文字がてんこ盛りになるジャンルなので、目がチカチカしてしんどい。ぱっと見、正しいのか間違ってるのか判断つきにくいんですね、脳が読解を拒否しやすくて。

TOP