当前位置: 首页 > 图文教程 > 网络编程 > ASP > 将html源代码规范化,转换成XSL代码的asp工具

ASP
ASP编程入门进阶(廿一):DAO SQL之建立数据库表
ASP应用之模板采用
ASP上传图片功能的又一实现(OLE对象)
asp中FSO复制文件代码
asp复制文件夹代码
实例演练ASP+XML编程比较全的了
利用ASP从远程服务器上接收XML数据的方法
PJ-Blog教程┊增强博客用户体验~让发表内容的同时拷贝到剪贴板以防丢失
TSYS一个新闻多种特性时如何进行前台更新?
TSYS资源特性的效率提高方法
重置TSYS系统中的所有"生成的文件"成"未生成文件"
TSYS中生成静态页时溢出: ''CInt''
asp实现防止站外提交内容的两个方法
ASP中生成文本文件的两种方式
ASP是否可以定时触发事件
ASP解压缩(在线解压缩类)
使用ASP删除指定IIS站点
使用ASP控制指定站点解析脚本语言函数
HTML标签及ASP函数速查表
如何使用Administrators组用户运行ASP程序

ASP 中的 将html源代码规范化,转换成XSL代码的asp工具


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 239 ::
收藏到网摘: n/a

  将下面的四个文件存在同一级目录下,再在同目录下建立一个文件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;","&#32;")            '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+",,,,,|"
    txt1=txt1+tag1
    del_tag=len(tag)
    else                    '否则对其它标签,就转为小写后,简单的加在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里,结束循环。
    txt1=txt1+alltmp
    del_tag=len(alltmp)
&nb