VBSでのhtmlタグ要素名の置換
' VBSでのhtmlタグ要素名の置換
' htmlファイルのタグ名を小文字に統一するスクリプトを作りたいと思っています。
' で、以下のスクリプトを書きました。(問題は置換処理だけなので要点をシンプルに抜き出しました)
' 要素名をすべて記述するのではなく、「<[A-Z]+」等のように記述してヒットした結果を
' 小文字化するなどして置換をおこないたいと思っています。
' (将来的には属性名も対応したいと思っています)
' ずばりそのものの記述・代替案等を希望しています。
' よろしくお願いします。
' ※可能ならコードonlyで会話しましょう。
Option Explicit
Dim reg
Set reg = New RegExp
Function replace(bodyStr, beforeStr, afterStr)
reg.Pattern = beforeStr
reg.Global = True
replace = reg.Replace(bodyStr, afterStr)
End Function
Dim fileText
fileText = "<HTML>HTML</HTML>"
' 要素名の小文字化
' fileText = replace(fileText, "<HTML+", "<html")
' fileText = replace(fileText, "</HTML", "</html")
fileText = replace(fileText, "<[A-Z]+", LCase(RegExp.$1))
If fileText = "<html>HTML</html>" Then
MsgBox "期待通り!"
Else
MsgBox "これじゃダメだよ…orz:" + fileText
End If
補足
回答ありがとうございます。 そうですね、補足します。 例えば、 <DOCTYPEHTMLPUBLIC "//W3C//DTDHTML4.0Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-2022-JP"> このようなHTMLファイルを作った時に、このファイルで指定している要素名を抽出するようなshell scriptを 作ってみるとかしたいんですが。。。いかがでしょう?