VBScript
' テキストファイルの読み書きの為のオブジェクト
Set Fs = CreateObject( "Scripting.FileSystemObject" )
' 正規表現オブジェクト
Set regEx = New RegExp
' SCRIPT タグの範囲を示す正規表現
regEx.Pattern = "<script[^>]*>[^<]+"
regEx.IgnoreCase = True
regEx.Global = True
' 読み込み用の OPEN
Set objHandle = Fs.OpenTextFile( "sample.htm", 1 )
strHtml = objHandle.ReadAll
objHandle.Close
' スクリプトタグを削除
ReplaceTest = regEx.Replace(strHtml, "")
' 上書き用の OPEN
Set objHandle = Fs.OpenTextFile( "result.htm", 2, True )
' 全て書き込み
objHandle.Write ReplaceTest
objHandle.Close
JavaScript
以下は HTML 内にはスクリプト部分が2箇所ありますが、1つ目の rep 関数は
HTML 内の JavaScript がスクリプトを取り去るスクリプトです。
<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=euc-jp" />
<TITLE>HTML雛形</TITLE>
<STYLE type="text/css">
* {
font-size: 12px;
}
.column {
border-style:solid;
border-width:1px;
border-color:#000000;
padding: 4px;
}
</STYLE>
<SCRIPT language="javascript" type="text/javascript">
function rep() {
// 文字列の中のスクリプトを IE が判断しないように分解してパターン作成
// この中が正しく削除されるように、 正規表現が正しく判断される為、
// 直接キーワードを書かないように記述
var lt = String.fromCharCode(60);
var gt = String.fromCharCode(62);
var pat = lt+"S"+"CRIPT[^"+gt+"]*"+gt+"[^"+lt+"]+"+lt+"/S"+"CRIPT"+gt;
var reg = new RegExp(pat,"ig");
str = document.getElementsByTagName("HEAD")[0].innerHTML;
str = str.replace(reg,"");
alert(str);
}
</SCRIPT>
<SCRIPT language="javascript" type="text/javascript">
// *********************************************************
// local class
// *********************************************************
function lbox_local() {
this.trim = function( strValue ) {
var regL = /^[ \s]+/;
var regR = /[ \s]+$/;
strValue = strValue.replace(regL,"");
strValue = strValue.replace(regR,"");
return strValue;
}
this.func_btn1 = function( ) {
rep();
}
}
// *********************************************************
// instance
// *********************************************************
var lbox = new lbox_local();
</SCRIPT>
</HEAD>
<BODY>
<TABLE
border=1
style='
border-collapse:collapse;
border-style:solid;
border-width:1px;
border-color:#000000;
width:690px;
'
>
<TR>
<TD class="column" colspan=2>
<INPUT
type="button"
name="btn1"
value="btn1"
onClick='lbox.func_btn1();'
style='width:60px;'
>
</TD>
</TR>
<TR>
<TD nowrap class="column">DIV ( id=area ) => </TD>
<TD class="column">
<DIV
id="area"
style='
width:400px;
background-color:#A0B9BD;
'
></DIV>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
|
|