JavaScriptのscriptタグ内からCDATAブロック(//)を削除する方法
scriptタグ内のCDATAブロックを削除するには
<script> 要素の中に記述された /* <![CDATA[ */ 〜 /* ]]> */ のブロックをまとめて削除したい場合は、正規表現パターン [\s\S]*? を使用します。
なぜ [\s\S]*? を使うのか
通常の .*? は改行文字にマッチしないため、複数行にまたがるCDATAブロックを一度に削除できません。一方、[\s\S] は「空白文字以外の任意の文字」と「空白文字」のいずれにも該当するため、改行を含むすべての文字にマッチします。この性質を利用することで、複数行にわたるCDATAセクション全体を一括して置換・削除できます。
処理対象となるコード例
<script>
/* <![CDATA[ */
var A=new Array();
/* ]]> */
</script>
Demo Text Demo Text
Demo Text
<script type="text/javascript">
/* <![CDATA[ */
var B=new Array();
Demo Text Demo Text
/* ]]> */
</script>
Demo Text
削除後のイメージ
上記のコードに [\s\S]*? を組み込んだ正規表現を適用すると、CDATAコメントで囲まれた部分だけが取り除かれ、以下のように <script> タグ自体やその外側のテキストはそのまま残ります。
<script></script> Demo Text Demo Text Demo Text <script type="text/javascript"></script> Demo Text
このように、[\s\S]*? を使えば改行をまたぐCDATAブロックも漏れなく検出できるため、HTMLやJavaScriptのソースコードから不要なCDATAセクションを安全にクリーンアップすることが可能です。
-
【解決法】「unix:///var/run/docker.sock」でDockerデーモンに接続できないエラーの直し方
Dockerは、コンテナを使ってアプリケーションを簡単に作成・デプロイ・実行できることから、近年ますます人気が高まっています。コンテナを利用すれば、開発者はアプリケーション本体に加えて必要なライブラリや依存関係をまとめてパッケージ化し、ひとつの完成品として展開できます。LinuxへのDockerのインストール自体は比較的簡単で、ターミナルで数個のコマンドを実行するだけで利用を始められます。しかしながら、インストールが正常に完了した後でも、すべてのユーザーがスムーズに使えるとは限りません。特によく報告されるのが次のエラーです。Cannot connect to the Docker daemon
-
Windows 8のパスワードを忘れたときのリセット方法|画像・PIN・テキストパスワード完全ガイド
Windows 8は、Microsoft史上最もセキュリティ性の高いOSとして、ログイン時に利用できる新しいパスワード方式を2つ導入しました。それが「4桁のPIN」と「ピクチャパスワード(画像パスワード)」です。PINを使えば素早くサインインでき、ピクチャパスワードなら写真をなぞるジェスチャで、より直感的かつ楽しくログインできます。とはいえ、従来のテキストパスワードも依然として重要です。ピクチャパスワードやPINをリセットする際には、通常のパスワードが必要になる場面があるためです。 Windows 8のパスワードを忘れてしまった方もご安心ください。本記事では、テキストパスワード、ピクチャパスワ