状態:-
閲覧数:2,876
投稿日:2013-03-09
更新日:2013-03-09
Googleアナリティクス トラッキングコード を一括削除したい
修正前
<a href="../../../../goods/072770.html" onclick="_gaq.push(['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/072770']);">
修正後
<a href="../../../../goods/072770.html">
エスケープを利用した正規表現
成功するまでの道のり
成功するまで
・1時間近くかかった
・[Dreamweaver CS3」だと無限ループになることもあるため、注意が必要
注意事項
・いつ落ちてもいいように、作業中のデータを保存してから、検索テストを開始した方が良い
・一旦無限ループに陥ったら、「Dreamweaver」を正常終了させることが出来なくなるので、「Ctrl+Alt+Del」でタスクマネージャを起動し、そこから終了させる
・どうしてもうまくいかない時は、まず初めに「小さな範囲の検索」を成功させ、徐々に範囲を広げていくやり方が有効だと思われ
・最終手段は2段階置換。これが結局は、一番早いような気もする(今回は意地になって一括置換したけど)
・なお、置換すると戻せなくなることもあるので、事前検索を実施し、正規表現が適切か、必ず確認しておく(検索範囲は赤い矢印で表示される)
検索テスト履歴
最終的に削除したい対象
onClick="_gaq.push(['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/072770']);"
動的変更部分を正規表現に置き換え
・しかし、これだけではうまくいかない
onClick="_gaq.push(['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)']);"
1.最小構成で確認
・成功
'_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)
2.両端に[]を追加
・失敗。無限ループに陥る
['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)']
3.[]をエスケープ
・成功
\['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)'\]
4.両端に()を追加
・失敗。エラーにはならないが、取得範囲は()の中だけ(赤矢印で確認可能)
(\['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)'\])
5.()をエスケープ
・成功
\(\['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)'\]\)
6.左端に文字列追加
・成功
_gaq.push\(\['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)'\]\);
7.左端に"追加
・成功
"_gaq.push\(\['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)'\]\);"
8.左端に文字列追加
・成功
onclickk="_gaq.push\(\['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)'\]\);"
8.左端に半角スペース追加
・成功(赤矢印で確認)
onclick="_gaq.push\(\['_trackEvent', 'Fe_Wknit', 'Fe_knit', 'http://design.google.com/goods/(.+)'\]\);"
onclick="_gaq.push(['_track 以下を全削除したい
例
削除対象
・onclick="_gaq.push(['_track 以下を全削除
onclick="_gaq.push(['_trackEvent', 'Design0', 'Illustrator', 'http://design0.e1blue.ne']);"
正規表現
onClick="_gaq.push\(\['_track(.+)'\]\);"
・上記だとモレがあることに気が付く
・理由不明
修正正規表現案1
・onclick="_gaq.push('_trackEvent', ' 以下を全削除
onclick="_gaq.push\(\['_trackEvent', '(.+)'\]\);"
修正正規表現案2
・onclick="_gaq.push(' 以下を全削除
onclick="_gaq.push\(\['(.+)'\]\);"
※実際に利用する際は、先頭半角スペースを手動付与
複数行(改行を含む)の正規表現
複数行対応
([\s\S]*?)
利用例
・utilityクラスを付与したulタグを削除
<ul class="utility clearfix">([\s\S]*?)</ul>
正規表現 2つのキャプチャ
処理対象
<li><a rel="http://design0.w4c.work/images/jp/pc/02.jpg" href="../../../../15.html"><img src="../../../../../../../images/jp/pc/02.jpg" alt=""></a></li>
検索
<a rel="http://design0.w4c.work/images/(.+)"><img src="(.+)"></a>
置換
<img src="$2">
処理対象
<!--a rel="http://design0.w4c.work/images/jp/pc/03.jpg" href="../../../../03"--><img src="../../../../../../../images/jp/pc/img/03.jpg" alt=""><!--/a-->
検索
<!--a rel="http://design0.w4c.work/images/(.+)--><img src="(.+)"><!--/a-->
置換
<img src="$2">