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

ASP
ASP视频教程:后台页面加入限制访问和禁用缓存功能
ASP视频教程:制作网站前台首页
ASP视频教程:备份和还原SQL Server 2000数据库
ASP实例教程:asp无限级显示分类代码
IIS无法启动错误的几种情况汇总
asp Http_Referer,Server_Name和Http_Host
ASP 调用带参数输出的COM接口
隐藏修改文件时间和文件属性的ASP脚本
ASP Crazy 模版操作类(最简单的模板类、仅提供交流)
asp 动态数组 提供Add、Insert、Remove、RemoveAt、Search等方法。
asp 取一个数的整数 但不是四舍五入,只要有小数,就取大于这个数的整数
asp 判断上传文件中是否存在危险代码
asp 获取url函数小结
ASP 调用dll及封装dll实例
asp 实现的冒泡排序程序
asp 自定义分段函数/求第N名成绩
ASP 高级模板引擎实现类
ASP 常见的连接字符串写法(access2007)
ASP向Excel导数据(图片)终结版 ASP操作Excel
ASP实现防止网站被采集代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 248 ::
收藏到网摘: 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