Javascriptのreplace関数で、正規表現を使った後方参照方法について書いています。

subc_b = subc_b.replace(/(.*)<!–more–>(.*)<!–moreb–>(.*)/,function(){return RegExp.$1 + “<div>” + RegExp.$2 + “</div>” + RegExp.$3});

のように書けば良い

ということがググれば書いてます。

しかし、これは、Firefox、Googleクローム,IE9以上

の場合のみ。

IE9以上、というのがくせもの。IE8以下だとエラーが出ます。で、クライアントに納品後、クレームが来ました。苦笑

上記の回避方法は、

subc_b = subc_b.replace(/(.*)<!–more–>(.*)<!–moreb–>(.*)/,function(){return arguments[1] + “<div>” + arguments[2] + “</div>” + arguments[3]});

としてやればOKです。

これで、メジャーブラウザを全て網羅出来ます。

 

スポンサー

お問い合わせ

この記事についてご質問があれば、お問い合わせ下さい。

お名前(必須)
お名前フリガナ(必須)
メールアドレス(必須)
メールアドレス確認(必須)
お問い合わせ記事URL
お問い合わせ内容(必須)