1. ホーム
  2. Web プログラミング
  3. ASP プログラミング
  4. アプリケーションのヒント

ASPでimgタグのstyle属性を削除し、srcの正規関数だけを残す。

2022-01-16 07:47:01

ASP imgタグのstyle属性を削除し、srcのみを残す。

'機能:IMGコードを <img src="XXX" /> 形式にし、SRC属性のみを残し、IMGタグの他の属性を削除します。

Function FixImg(sString)
  
    Dim sReallyDo, regEx, iReallyDo
    Dim oMatches, cMatches
    Dim tStartTime, tEndTime
    If IsNull(sString) Then
        FixImg = ""
        Exit Function
    End If
    sReallyDo = sString
    On Error Resume Next
    sReallyDo = Replace(sReallyDo, vbCr, " ")
    sReallyDo = Replace(sReallyDo, vbLf, " ")
    sReallyDo = Replace(sReallyDo, vbTab, " ")
    sReallyDo = Replace(sReallyDo, "<img ", vbCrLf & "<img ", 1, -1, 1)
    sReallyDo = Replace(sReallyDo, "/>", " />", 1, -1, 1)
    sReallyDo = ReplaceAll(sReallyDo, "= ", "=", True)
    sReallyDo = ReplaceAll(sReallyDo, "> ", "> ", True)
    sReallyDo = Replace(sReallyDo, "><", ">" & vbCrLf & "<")
    sReallyDo = Trim(sReallyDo)
    On Error GoTo 0
    Set regEx = New RegExp
    regEx.IgnoreCase = True
    regEx.Global = True
    '//Remove scripts like onclick, onload, etc.
    regEx.Pattern = "\s[on]. +? = ([\""|\'])(. *?) \1"
    sReallyDo = regEx.Replace(sReallyDo, "")
    '//add quotes to the image address of the SRC without quotes
    regEx.Pattern = "<img.*? \ssrc=([^\""\'\s][^\""\'\s>]*). *? >"
    sReallyDo = regEx.Replace(sReallyDo, "<img src=""$1"" />")
    '//regular match image SRC address
    regEx.Pattern = "<img.*? \ssrc=([\"""\'])([^\""\']+?) \1.*? >"
    sReallyDo = regEx.Replace(sReallyDo, "<img src=""$2"" />")
    FixImg = sReallyDo
End Function

上記のコードは実にうまく書かれており、その原理は以下のコードにも見出すことができます。

img の style 属性をフィルタリングする js

var str = "<img style='dddddddddd'>"
str = str.replace(/<img[^>]*>/gi, function (match, capture) {
return match.replace(/style\s*? =\s*? (['"])[\s\S]*? \1/ig, '')
}))
console.log(str)

jsで直接設定された置換でない

var is=document.images;
for(var i=0,len=is.length;i<len;i++){
is[i].style.cssText=""
}

今回は、imgタグのstyle属性を削除して、ASPタグのsrcだけを残す正規関数について紹介しましたが、もっと関連するASPのimgコンテンツのstyle属性を削除するは、スクリプトハウスの過去記事を検索するか、以下の関連記事を引き続き閲覧してください!今後とも、スクリプトハウスをよろしくお願いします。