将下面的四个文件存在同一级目录下,再在同目录下建立一个文件txt.txt。当要处理html代码时,先将源代码拷入txt.txt,再进入index_transform.asp, 即可看到处理完的代码。
写这个东西的本意是因为:经常要对美工用切图软件生成的网页文件转换成xsl,很头疼要花大量的时间去改写不规范的html代码。 这个东西对全文所有的html代码进行改动: 1.把所有标记都变成小写; 2.把标签的属性值都加上双引号; 3.把单端标签<hr>、<img……>、<input……>等,改成<hr/>……; 4.把单独属性selected变成:selected="selected";
功能不完善之处:对html代码中,属性值内包含空格的情况不能正常处理; 对<script>、<style>标签里的不能正常处理。 因为是以空格为标志将标签里的各个属性值split成的数组,所以对属性值中 包含空格的还没做进一步处理。
OK,耽误大家时间了,看看这个东西能派上用场吗? 圣诞快乐~! :)
================================================== ================================================== '文件1:transform.asp◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎ <% '***************************************** 'Author:小乙 '时间:2000.12.20 '功能:初步完成对要被转换成XSL文件的:普通html代码语法规范化的功能 '运行环境:可运行asp的机子。在同级目录下把要处理的html代码copy到 'txt.txt文件里。 '*************************************** '================================================================================================ ''''''''''''''''''''''''''''''''【对全文所有html源代码进行语法规范化】'''''''''''''''''''''''''''' '在这个函数里,调用了另外一个主要函数alone_tag,来处理从中摘出来的单个标签。 Function transform(txt) dim alltmp '定义此字符串变量,随着被处理的大字符串减少而减短——只保留未处理的字符串部分。 alltmp=txt alltmp=replace(alltmp," "," ") 'nbsp_tmp是替换掉文本中的字符实体&#nbsp; '□■■■■■——进入全文的处理htm源代码的大处理循环——■■■■■□ do while trim(alltmp)<>"" 'msgbox alltmp index=0 index=InStr(1,alltmp,"<",1)
'根据index的值,判断"<"前面是否有文本?有:加到txt1;无:进行标签处理(index=1)——即进入标签处理分支 if index=1 then index_right=InStr(1,alltmp,">",1) tag=left(alltmp,index_right) '取出alltmp临时串中">"前面的字符串 '对到这里的标签,判断如果标签不是后端标签,就调用处理标签大函数alone_tag if mid(tag,2,1)<>"/" then tag1=alone_tag(tag) 'tag1=tag+",,,,, |
关键词: 将html源代码规范化 转换成XSL代码的asp工具