在线HTML格式化工具和在线CSS样式格式化工具的工作原理是什么啊?

html-css09

在线HTML格式化工具和在线CSS样式格式化工具的工作原理是什么啊?,第1张

本质就是根据一套设定的规则用编程语言(js、asp、php、ruby..)来判断处理字符串

格式前:

<html><body></body></html>

格式后:

<html>

<body></body>

</html>

只说一种大致原理,具体实现有很多算法:

规则:根据html里<>是一个元素开始,</>是一个元素结束来查找元素

程序读到第一个<html>就去找与之对应的</html>

然后又去找<html></html>之间有无能配对的<></>,没有的话则不处理

有子元素的话,就需要插入换行把子元素和父级分开(同时处理细节,如父子标签之间多余的空格、插入tab缩进等)

然后又去找<body></body>里面有没有配对的<></>,没有则不处理,有的话则向前面几步一样循环往复的查找、处理

------------------------------------------------------

css格式化的大概规则:

body{color:red}.myclass{font-size:12px}#myid span{width:100pxcolor:yellow}

找配对的{},里面的玩意根据为结尾的规则换行:

{

width:100px

color:yellow(最后一句可以不写这个“”所以这种情况也要考虑)

}

加点tab缩进:

{

width:100px

color:yellow

}

还有就是判断一对{...}外面那些字符,加入换行:

body{}

.myclass{}

#myid span{}

最后你看到的就是:

body{

color:red

}

.myclass{

font-size:12px

}

#myid span{

width:100px

color:yellow

}

具体实现中,上面的还有很多情况也是要考虑的,比如写代码的人忘了写</html>,程序找到<html>后找不到配对的</html>,这时怎么处理?是忽略、提示错误、还是另外弄套更复杂的规则去智能的补写一个</html>上去?反正很多细节,写程序的人要尽量先想到可能的各类情况。

其他什么玩意格式化也是这个原理,只是查找的规则不一样而已。

反过来,有很多压缩js、css、html代码的东西,是为了节约字节减少服务器压力,把文件里面的无用空格、换行都删除掉,就是把这些步骤反过来。

另外处理字符串,你可以百度下:正则表达式

时间戳转换

功能简介:Unix时间戳和北京时间互转、获取时间戳方法

地址:http://www.matools.com/timestamp

代码对比/归并

功能简介:在线检测/比较两个文件文本的不同

地址:http://www.matools.com/compare

LESS编译器

功能简介:将LESS代码编译成CSS代码,方便前端人员使用

地址:http://www.matools.com/less

crontab表达式

功能简介:根据crontab表达式计算未来N次的执行时间

地址:http://www.matools.com/crontab

代码格式化

功能简介:可以对SQL、XML、JSON代码进行格式化和美化

地址:http://www.matools.com/code-format

编码转换

功能简介:URL解码、Native转UTF-8、Native转ASCII

地址:http://www.matools.com/code-convert

网页调色板

功能简介:网页颜色选择器、颜色代码查询、RGB颜色值参考

地址:http://www.matools.com/color

正则表达式

功能简介:正则表达式匹配和替换、多种常用正则表达式

地址:http://www.matools.com/regex

答题

功能简介:学霸,快来做题,提升一下你的技能吧

地址:http://www.matools.com/exam

Markdown

功能简介:将web上的文本转换成HTML文档

地址:http://www.matools.com/markdown

UBB编译器

功能简介:UBB是一种网页中的替代HTML代码的安全代码

地址:http://www.matools.com/ubb

进制转换

功能简介:2~36进制之间任意进制转换,支持浮点型

地址:http://www.matools.com/hex

CSV转HTML

功能简介:将CSV数据转换为HTML的表格,并展示在页面上

地址:http://www.matools.com/csv-html

HTML特殊符号

功能简介:HTML特殊字符编码大全

地址:http://www.matools.com/special-char

XML转JSON

功能简介:XML和JSON的内容和输出互相转换

地址:http://www.matools.com/xml-json

HTML转JS

功能简介:HTML和JS的内容和输出互相转换

地址:http://www.matools.com/html-js

js/css压缩

功能简介:在线压缩Javascript和CSS代码

地址:http://www.matools.com/compress

网页常用字体

功能简介:总结了各种常见的网页字体的显示效果

地址:http://www.matools.com/page-word

Cron生成器

功能简介:可以在线生成任务调度Quartz的Cron表达式

地址:http://www.matools.com/cron

JSON格式化

功能简介:Json解析、验证、格式化、压缩、以及Json与XML相互转换

地址:http://www.matools.com/json

SQL格式化

功能简介:sql在线美化、格式化、脚本压缩

地址:http://www.matools.com/sql

端口扫描

功能简介:扫描常用或指定的端口,查看端口是否开放

地址:http://www.matools.com/port

Base64编码解码

功能简介:将字符base64编码加密,或者将base64加密的字符还原

地址:http://www.matools.com/base64

MD5加密

功能简介:生成32位和16位的大写和小写的密文

地址:http://www.matools.com/md5

摩斯电码

功能简介:在线摩斯电码加密解密

地址:http://www.matools.com/morse

IP查询

功能简介:查询IP或域名的地理位置和宽带供应商、查看本机IP

地址:http://www.matools.com/ip

文字加密解密

功能简介:支持AES、DES、RC4、Rabbit 等多种算法

地址:http://www.matools.com/encrypt

HTTP状态查询

功能简介:检测网页返回的HTTP状态码

地址:http://www.matools.com/page-status

生成htpasswd

功能简介:生成htpasswd

地址:http://www.matools.com/htpasswd

favicon图标制作

功能简介:将上传图像剪切并生成ico格式的图标

地址:http://www.matools.com/ico

传图识字

功能简介:可以将一段含有英文文字的照片免费转化成文字

地址:http://www.matools.com/ocr

gif图制作

功能简介:一键生成gif动态图、闪图和搞笑表情包

地址:http://www.matools.com/gif

生成二维码

功能简介:可以设置图像格式、容错率、大小、颜色及LOGO

地址:http://www.matools.com/qrcode

图片转pdf

功能简介:在线免费将多张图片转成pdf文档,一键生成pdf文档

地址:http://www.matools.com/pdf

人脸识别

功能简介:在线人脸识别,自动识别人脸批量裁剪出头像图片

地址:http://www.matools.com/face

DIY卡通头像

功能简介:免费的动漫人物制作工具,可以随心定制男女卡通头像

地址:http://www.matools.com/cartoon

传图识色

功能简介:可以识别出光标所在处图片的颜色,并提取出图片的主色调

地址:http://www.matools.com/image-color

手绘图片

功能简介:可以自动生成手绘风格照片,还可以改变照片的模糊度

地址:http://www.matools.com/sketch

图片转Base64

功能简介:图片和Base64编码互转

地址:http://www.matools.com/image-base64

衣服尺码计算

功能简介:输入你的身高体重,即可计算出你需要的衣服尺寸

地址:http://www.matools.com/size

身份证信息查询

功能简介:输入身份证号,查询归属地、性别和出生年月

地址:http://www.matools.com/id

科学计算器

功能简介:开方(√)、圆周率(π)、倒数(1/x)、正弦(Sin)

地址:http://www.matools.com/calculator

大小写转换

功能简介:可以实现人民币数字大写转换和英文大小写转换

地址:http://www.matools.com/upper-lower

日期间隔计算

功能简介:一款可以计算两个日期之间的天数的工具

地址:http://www.matools.com/date

汉字转拼音

功能简介:可以将汉字转化为带声调的拼音

地址:http://www.matools.com/pinyin

文字去重

功能简介:该工具可得到无重复数据的文字

地址:http://www.matools.com/repeat

单位换算器

功能简介:长度、面积、重量、温度等单位一键对等转换

地址:http://www.matools.com/unit

中文简繁转换

功能简介:将输入的一段文字转换为简体或繁体

地址:http://www.matools.com/chinese-convert

阴阳历转换

功能简介:支持农历公历互查,公历和农历互相转换

地址:http://www.matools.com/lunar

邮编区号查询

功能简介:输入省份、城市、区号或邮编查询该地区号

地址:http://www.matools.com/postcode

字数统计

功能简介:快速计算文章中汉字、标点、英文和数字的个数

地址:http://www.matools.com/count-char