国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

將html源代碼規(guī)范化,轉(zhuǎn)換成XSL代碼的asp工具

將html源代碼規(guī)范化,轉(zhuǎn)換成XSL代碼的asp工具

更新時間:2022-04-30 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

將下面的四個文件存在同一級目錄下,再在同目錄下建立一個文件txt.txt。當要處理html代碼時,先將源代碼拷入txt.txt,再進入index_transform.asp,
即可看到處理完的代碼。

寫這個東西的本意是因為:經(jīng)常要對美工用切圖軟件生成的網(wǎng)頁文件轉(zhuǎn)換成xsl,很頭疼要花大量的時間去改寫不規(guī)范的html代碼。
這個東西對全文所有的html代碼進行改動:
1.把所有標記都變成小寫;
2.把標簽的屬性值都加上雙引號;
3.把單端標簽<hr>、<img……>、<input……>等,改成<hr/>……;
4.把單獨屬性selected變成:selected="selected";

功能不完善之處:對html代碼中,屬性值內(nèi)包含空格的情況不能正常處理;
對<script>、<style>標簽里的不能正常處理。
因為是以空格為標志將標簽里的各個屬性值split成的數(shù)組,所以對屬性值中
包含空格的還沒做進一步處理。

OK,耽誤大家時間了,看看這個東西能派上用場嗎?
圣誕快樂~! :)

==================================================
==================================================
'文件1:transform.asp◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
<%
'*****************************************
'Author:小乙
'時間:2000.12.20
'功能:初步完成對要被轉(zhuǎn)換成XSL文件的:普通html代碼語法規(guī)范化的功能
'運行環(huán)境:可運行asp的機子。在同級目錄下把要處理的html代碼copy到
'txt.txt文件里。
'***************************************
'================================================================================================
''''''''''''''''''''''''''''''''【對全文所有html源代碼進行語法規(guī)范化】''''''''''''''''''''''''''''
'在這個函數(shù)里,調(diào)用了另外一個主要函數(shù)alone_tag,來處理從中摘出來的單個標簽。
Function transform(txt)
dim alltmp    '定義此字符串變量,隨著被處理的大字符串減少而減短——只保留未處理的字符串部分。
alltmp=txt
alltmp=replace(alltmp,"&nbsp;","&#32;")            'nbsp_tmp是替換掉文本中的字符實體&#nbsp;
'□■■■■■——進入全文的處理htm源代碼的大處理循環(huán)——■■■■■□
do while trim(alltmp)<>""
'msgbox alltmp
index=0
index=InStr(1,alltmp,"<",1)

'根據(jù)index的值,判斷"<"前面是否有文本?有:加到txt1;無:進行標簽處理(index=1)——即進入標簽處理分支
if index=1 then
index_right=InStr(1,alltmp,">",1)
tag=left(alltmp,index_right)                '取出alltmp臨時串中">"前面的字符串
    '對到這里的標簽,判斷如果標簽不是后端標簽,就調(diào)用處理標簽大函數(shù)alone_tag
    if mid(tag,2,1)<>"/" then
    tag1=alone_tag(tag)
    'tag1=tag+",,,,,|"
    txt1=txt1+tag1
    del_tag=len(tag)
    else                    '否則對其它標簽,就轉(zhuǎn)為小寫后,簡單的加在txt1后面
    txt1=txt1+LCase(tag)
    del_tag=len(tag)
    end if
else
    if index>1 then
    str_tmp=left(alltmp,index-1)
    txt1=txt1+str_tmp                        'index<>1,說明前面有文本。
    del_tag=len(left(alltmp,index-1))        '把"<"前面的屬于文本的添加到新txt1大字符串中去。
    end if
    if index=0 then                            '當再也找不到<時(到了末尾),把剩下的字符串全部加到txt1里,結(jié)束循環(huán)。
    txt1=txt1+alltmp
    del_tag=len(alltmp)
    end if
end if

'把處理完的部分從原字符串中減掉
'response.write "alltmp="+alltmp

alltmp=right(alltmp,len(alltmp)-del_tag)    '(如果標簽長大于等于2個字符)這里有問題!12.14,下次再作!!

loop
''□■■■■■——離開全文的處理htm源代碼的大處理循環(huán)——■■■■■□

'transform=txt1
txt1=replace(txt1," ="""" "," ")        '【這句是對付=""漏網(wǎng)之魚    2000.12.15
txt1=replace(txt1," >",">")            '【這句是對付 >        2000.12.19
txt1=replace(txt1,"<tbody>","")        '【這句是對付<tbody>    2000.12.19
transform=replace(txt1,"</tbody>","")        '【這句是對付</tbody>    2000.12.19

End Function
''''''''''''''''''''''''''''''''【對全文所有html源代碼進行語法規(guī)范化,結(jié)束】''''''''''''''''''''''''
%>

==================================================
==================================================
'文件2:index_transform.asp◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
<%@ Language="VBScript" %>
<!-- #include file="transform.asp" -->
<!-- #include file="alone_tag.asp" -->
<%

'-------------------------------------本部分得到全文源代碼,開始------------------------------------
dim txt        '源文件中的文本
dim txt1    '經(jīng)過html語法規(guī)范化后的文件字符串。
dim tmpreadline    '=thisfile.readline
txt="":txt1="":tmpReadAll=""
'取得源文件名稱,及所在路徑-------------
sourcefile="txt.txt"
sourcefile=Request.form("txtname")


'--------------------------新增部分,獲得上傳文本文件的內(nèi)容------------2000.12.15
'txt=request.form("filecontent")
'if len(txt)<>"" then
'response.write "---------------"
'end if
'response.end
'--------------------------新增部分結(jié)束------------2000.12.15

'-----------------------------------------------------【正式開始操作文件】----------------------
whichfile=server.mappath("txt.txt")
'whichfile=server.mappath(sourcefile)
Set fs = CreateObject("Scripting.FileSystemObject")
Set thisfile = fs.OpenTextFile(whichfile, 1, False)
counter=0

    tmpReadAll=thisfile.readall                            'ReadAll是讀取全部文件內(nèi)容。
    txt=tmpReadAll
    txt1=transform(cstr(tmpReadAll))
    txt=server.htmlencode(txt)+"    【文件內(nèi)容到此結(jié)束】"


'''''''''''''''''''''''''''''''''''''''''''''''''''''''

                                        '如果要看打印出來長字符串的效果,請取消上面這行注釋。
'-------------------------------------本部分得到全文源代碼,結(jié)束------------------------------------
%>

<%''''''''''''''''''''''''''''''【這里正式html頁面開始】'''''''''''''''''''''''''''''''''''''''''%>

<html>
<head>
<title>倒數(shù)第二版</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#BFA49a">
<form method="post" action="index_transform.asp" name="form1">
  <table border="1" cellspacing="0" cellpadding="5" align="center" bgcolor="#99CCCC" bordercolor="#330066">
    <tr>
      <td>
        <input type="text" name="txtname" value="txt.txt">
        
        <input type="file" name="filecontent">
        
        <input type="submit" name="Submit" value="提交">
        <a href="#pagedown">到下面</a>
      </td>
    </tr>
  </table>
</form> <br>
<!-------------------頁面表單2開始(form2)--------------------->
<form method="post" action="trans2.asp" name="form2" enctype="multipart/form-data">
  <table width="753" border="1" cellspacing="0" cellpadding="5" align="center" bgcolor="#99CCCC" bordercolor="#330066">
    <tr bgcolor="#98AFE7" bordercolor="#FFCC99">
      <td bordercolor="#FFFFFF">原文:</td>
      <td bordercolor="#FFFFFF">處理后:</td>
    </tr>
    <tr>
      <td>
        <textarea name="txt" cols="50" rows="25" onFocus="this.select()" onclick="this.focus()">
<%=txt%>
</textarea>
      </td>
      <td>
        <%''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''%>
        <textarea name="txt" cols="50" rows="25" onFocus="this.select()" onclick="this.focus()">
<%=txt1%>
</textarea>
      </td>
    </tr>
  </table>
  <div id="Layer1" style="position:absolute; width:68px; height:35px; z-index:1; left: 349px; top: 411px; background-color: #E7E7E9; layer-background-color: #E7E7E9; border: 1px none #000000">
    <div align="center">
      <input type="submit" name="Submit2" value="提交">
      <INPUT TYPE=button NAME="view" VALUE="看源碼" OnClick='window.location="view-source:" +window.location.href'>
    </div>
  </div>
</form>

  <p>&nbsp;</p>

<br><a name="pagedown">
<hr size="1" align="center" width="90%" color="#88ff99">
<!-------以下是處理完的源代碼----------->

<%=txt1%>

<!-------處理完的源代碼到此為止------->
</body>
</html>

<%'釋放資源
Erase strtag1
Erase strtag2
Erase strtag3

thisfile.Close
set thisfile=nothing
set fs=nothing
%>
==================================================
==================================================
'文件3:alone_tag.asp◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
<!-- #include file="func_flag.asp" -->

<%
'tag="<hr bgcolor=""#ccFFFF"" size=4568481,dfafd selected>"



'----------------------------進入這里時應(yīng)該已經(jīng)得到一個完整的標簽--------------------------------
'--------在此建立了一個大函數(shù)用來處理一個完整的標簽里的屬性值。一直到頁面尾部為止。
function alone_tag(tag)
dim tag1            '定義處理完以后的標簽,并在本函數(shù)末尾,將此值返還給alone_tag。
tag=LCase(tag)        '將標簽命名為tag,并且為了美觀,把所有字符串都改寫成小寫形式

'---------到此先準備好標簽的自身,以備后面拼回標簽的時候使用(減一是因為后面拼屬性時把空格加上了)
dim tmpattri    '此變量是臨時字符串,包含一個標簽中的所有屬性值,利用它來求“屬性數(shù)組:attribute”
index=InStr(1,tag," ",1)
tmpattri=right(tag,len(tag)-index)                '除去左側(cè)標簽
if len(tmpattri)>1 then
tmpattri=trim(left(tmpattri,len(tmpattri)-1))    '除去右側(cè)">",并去除兩端空格(如果標簽長大于等于2個字符)
end if

tmpattri=replace(tmpattri,chr(13)," ")    '對源碼中,一個標簽不在一行里的情況,尚等待另行考慮處理。
tmpattri=replace(tmpattri,chr(10)," ")
tmpattri=replace(tmpattri,chr(10)&chr(13)," ")
tmpattri=replace(tmpattri,"  "," ")        '【這兩句是對付當屬性串里有多個空格的時候,
tmpattri=replace(tmpattri,"  "," ")        '【替換成一個空格,不過只能處理不超過16個空格的情況。
tmpattri=replace(tmpattri,"  "," ")
tmpattri=replace(tmpattri,"  "," ")
tmpattri=replace(tmpattri,"  "," ")
tmpattri=replace(tmpattri,"  "," ")
tmpattri=replace(tmpattri,"  "," ")
attribute=Split(tmpattri, " ", -1, 1)    '新定義一個數(shù)組,是專為裝載屬性值而設(shè)的。Dim attribute
'msgbox "這里得到準備拆分屬性數(shù)組的長字符串:  "+tmpattri

'--------------------到這里已經(jīng)得到一個關(guān)于屬性值的數(shù)組:attribute-------------------------------

'--------『這個循環(huán)是處理上面處理完畢的屬性值字符數(shù)組(attribute)的』-------------------
'flag=0:說明單個屬性有等于號,且有雙引號——語法正常,后面對此標志忽略。    (例:width="325")
'flag=1:說明單個屬性有等于號,且沒有雙引號——需要處理,對語法規(guī)范化        (例:width=325)
'flag=2:說明單個屬性沒有等于號(例:selected)
'flag=3:說明是單端標簽,(例:<hr width="80%" size="1">)此語句在前面設(shè)標志,并進行處理
For count=0 to UBound(attribute, 1)        '一個元素的屬性不多.
    If InStr(1,attribute(count),"=",1)=0 Then
    flag=2                                '單個屬性串中沒找到等于號。(例:selected)
    Else
        IF InStr(1,attribute(count),"""",1)=0 Then
        flag=1                            '單個屬性串中沒找到等于號。(例:width=325)
        Else
        flag=0                            '單個屬性串找到了等于號。(例:width="325")
            IF InStr(1,attribute(count),"""",1)>0 Then
            'attribute(count)=attribute(count)+attribute(count+1)
            'attribute(count+1)=""        '這兩句是說,把下一個屬性串的賦給它,把下一個屬性串置為零。
            flag=4    '單個屬性串找到了等于號,并且包含分號。(例:content="text/html; charset=gb2312")
            End IF
        End If
    End If

'------------------對屬性數(shù)組,根據(jù)上面打的不同標志來調(diào)用不同函數(shù)進行處理--------------
Select case flag
        case 0 attribute(count)=attribute(count)
        case 1 attribute(count)=func_flag1(attribute(count))    '調(diào)用函數(shù)func_flag1處理。(例:width=325)
        case 2 attribute(count)=func_flag2(attribute(count))    '調(diào)用函數(shù)func_flag2處理。(例:selected)
        case 3 attribute(count)=func_flag3(attribute(count))    '調(diào)用函數(shù)func_flag3處理單端標簽(例:<img…)
        case 4 attribute(count)=(attribute(count))                '另行處理屬性串之間包含分號、空格的情況
End Select
Next

count=0
for count=0 to UBound(attribute, 1)
attribute_tmp=attribute_tmp+" "+attribute(count)    '屬性值之間要有空格
next
'----------到這里已經(jīng)把各個符合屬性值規(guī)范的屬性拼成一個串a(chǎn)ttribute_tmp,下面進行拼標簽------
index=InStr(1,tag," ",1)
    if InStr(1,tag," ",1)=0 and len(tag)<>"" then    '當空格沒找到(意味著是空屬性值標簽),且沒有到末尾時。
    tag1=Replace(tag,">"," >")            '在此類標簽(例<hr>)后尾加上一個空格
    else
    tag_self=left(tag,index-1)
    '拼標簽與屬性串。
    tag1=tag_self+attribute_tmp+">"
    end if
'msgbox "tag_self"+tag_self
'msgbox "(要輸出的標簽串)tag1ssssssssssss:"+tag1


'-----------------到這里已經(jīng)得到一個屬性值規(guī)范的標簽,但要開始對單端標簽進行處理------------
'----替換單端標簽--------
'count=0
for count=0 to UBound(strtag3,1)
    if InStr(1,tag1,strtag3(count),1)<>0 then    '這里利用到前面已切分好的屬性標簽
    tag1=func_flag3(tag1)                        '對付單端標簽——flag=3(例:<img…)
    end if
next
'-----------------到這里已經(jīng)得到一個完全語法規(guī)范化的標簽。單端標簽處理完畢------------
alone_tag=tag1
end function

'<SCRIPT LANGUAGE="javaScript">
'<!--
'tag='<%=alone_tag(tag)% >'
'alert (tag)
'//-->
'</SCRIPT>

%>

==================================================
==================================================
'文件4:func_flag.asp◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
<%
strtag_source1="<html ,<body ,<table ,<td ,<tr ,<option ,<font ,<div ,<span ,<h1 ,<h2 ,<form "
strtag1 = Split(strtag_source1, ",", -1, 1)

strattri_source2="selected,checked,norwap,readonly,noshade"            '單獨屬性
strtag2 = Split(strattri_source2, ",", -1, 1)

strtag_source3="<input ,<img ,<hr ,<br ,<meta"        '單端標簽
strtag3 = Split(strtag_source3, ",", -1, 1)

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'-------------------以下是處理flag值的多個函數(shù)---------【保留】----開始
function func_flag1(tmp)'處理單個屬性:(例:width=325)
index=InStr(1,tmp,"=",1)
z1=left(tmp,index)
z2=""""
z3=mid(tmp,index+1,len(tmp)-len(z1))
func_flag1=z1+z2+z3+z2
end function

function func_flag2(tmp)'(例:selected)
func_flag2=tmp+"="+""""+tmp+""""
end function

function func_flag3(tmp)'處理單端標簽(例:<img…)
func_flag3=replace(cstr(tmp),">","/>")
end function
'-------------------以上是處理flag值的多個函數(shù)---------【保留】----結(jié)束
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
%>

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        欧美成人精品1314www| 欧美电视剧在线看免费| 精品国产乱码久久久久久久久 | 91久久精品一区二区三| 亚洲人成影院在线观看| 91黄色免费观看| 视频一区中文字幕国产| 精品久久一区二区| 不卡一区二区三区四区| 一二三区精品福利视频| 日韩欧美久久一区| 成人激情开心网| 午夜精品一区二区三区三上悠亚| 精品久久久久久久久久久久久久久久久 | 成人av网站在线观看免费| 亚洲福利视频一区| 精品一区二区三区在线观看国产| 天天操天天综合网| 久久新电视剧免费观看| 久久综合色之久久综合| 91原创在线视频| 日韩1区2区3区| 国产精品灌醉下药二区| 在线播放91灌醉迷j高跟美女| 久久电影国产免费久久电影| 日韩毛片一二三区| 欧美成va人片在线观看| 在线观看欧美黄色| 国产精品一卡二卡在线观看| 亚洲第一久久影院| 一区二区三区鲁丝不卡| 91精品国产入口在线| 亚洲丝袜另类动漫二区| 精品久久久久久久久久久久包黑料| bt7086福利一区国产| 国产综合久久久久久鬼色 | 色婷婷久久综合| 国产九色sp调教91| 免费成人结看片| 五月综合激情网| 亚洲精品成人在线| 日韩一区在线免费观看| 国产婷婷色一区二区三区四区| 欧美三级韩国三级日本一级| 91色综合久久久久婷婷| 91在线porny国产在线看| 成人高清免费观看| 国产裸体歌舞团一区二区| 激情五月播播久久久精品| 粉嫩高潮美女一区二区三区| 一区二区在线免费| 久久99热99| 91免费国产在线| 欧美中文字幕亚洲一区二区va在线| 欧美午夜精品电影| 欧美videos大乳护士334| 中文字幕精品一区二区三区精品| 亚洲欧美精品午睡沙发| 天天色天天操综合| 成人sese在线| 91精品婷婷国产综合久久性色| 日韩精品一区在线| 蜜桃精品在线观看| 国产精品久久久久aaaa| 亚洲视频在线观看三级| 亚洲视频免费观看| 亚洲天堂久久久久久久| 国产精品久久久久久久久免费桃花 | 国产亚洲人成网站| 久久精品在这里| 中文欧美字幕免费| 亚洲情趣在线观看| 亚洲成人黄色影院| 六月丁香婷婷久久| 东方欧美亚洲色图在线| 色婷婷综合久久久久中文一区二区 | 国产女同性恋一区二区| 国产精品久久久久婷婷| 一级女性全黄久久生活片免费| 首页亚洲欧美制服丝腿| 精品无人区卡一卡二卡三乱码免费卡 | 日本一区二区三区免费乱视频| 欧美激情一区二区三区蜜桃视频| 国产欧美va欧美不卡在线| 亚洲自拍偷拍av| 美女精品一区二区| jlzzjlzz亚洲女人18| 3d动漫精品啪啪一区二区竹菊| 精品国一区二区三区| 中文字幕在线视频一区| 日本中文字幕不卡| 成人av在线电影| 欧美一级国产精品| 国产精品国产三级国产专播品爱网| 亚洲国产精品久久艾草纯爱| 国产成人精品一区二区三区四区 | 久久99久久精品| 日本韩国欧美在线| 国产亚洲一区二区三区| 亚洲成人av中文| 不卡视频一二三四| 欧美成人精品福利| 亚洲线精品一区二区三区| 丰满少妇在线播放bd日韩电影| 6080亚洲精品一区二区| 亚洲欧美日韩久久| 国产精品 日产精品 欧美精品| 欧美日韩精品欧美日韩精品 | av日韩在线网站| 26uuu另类欧美| 午夜精品久久久久久久| proumb性欧美在线观看| 久久久久久久久久久久久久久99| 日韩电影在线免费观看| 91久久精品日日躁夜夜躁欧美| 国产欧美日韩视频一区二区| 卡一卡二国产精品| 制服丝袜中文字幕亚洲| 亚洲一区二区五区| 在线观看91视频| 亚洲视频免费在线| 97久久久精品综合88久久| 国产精品色噜噜| 成人在线视频一区二区| 国产清纯白嫩初高生在线观看91 | 国产成人av影院| 久久精品夜夜夜夜久久| 国产高清不卡一区| 国产午夜精品一区二区| 国产美女精品在线| 国产亚洲污的网站| 国产成人啪免费观看软件| 精品国产123| 国产一区二区成人久久免费影院| 精品久久人人做人人爽| 国产在线精品一区二区| 国产日产欧美精品一区二区三区| 国产一区二三区| 亚洲国产精品成人综合| 国产999精品久久| 国产精品久久久久久久浪潮网站| 波多野结衣在线一区| 亚洲欧美怡红院| 欧美在线你懂的| 五月开心婷婷久久| 欧美三片在线视频观看| 日韩精品一区国产麻豆| 国产福利精品导航| 成人av电影免费观看| 精品福利在线导航| 亚洲成av人**亚洲成av**| 不卡的电影网站| 中文在线资源观看网站视频免费不卡| 久久国产精品区| 日韩三级免费观看| 免费成人美女在线观看.| 日韩精品一区二区三区在线播放| 亚洲一二三区在线观看| 欧美日韩一级二级| 午夜日韩在线观看| 欧美精品日日鲁夜夜添| 亚洲一区精品在线| 日韩久久精品一区| 国产福利一区二区三区视频在线| 不卡影院免费观看| 久久无码av三级| 久久久无码精品亚洲日韩按摩| 精品亚洲成a人在线观看| 国产精品一级黄| 国产99久久精品| 亚洲人吸女人奶水| 制服丝袜一区二区三区| 成人a区在线观看| 青青草原综合久久大伊人精品优势| 国产日韩欧美麻豆| 在线成人高清不卡| 波多野结衣中文一区| 日韩不卡免费视频| 亚洲三级免费观看| 欧美精品一区二区三区视频| 日本道免费精品一区二区三区| 国产一区二区三区免费| 亚洲成人免费在线| 成人免费在线视频观看| 欧美福利一区二区| 色婷婷一区二区三区四区| 韩国欧美国产1区| 日韩精品久久理论片| 亚洲与欧洲av电影| 国产精品久久久久久久岛一牛影视 | 高清不卡一区二区| 777欧美精品| 欧美一区二区播放| 福利电影一区二区| 日韩av一区二区三区四区| 国产精品狼人久久影院观看方式| 精品捆绑美女sm三区| 91麻豆精品国产91久久久| 欧美亚洲综合色| 91偷拍与自偷拍精品|