搜索
查看: 2183|回复: 3

[文本分析] 解析格式化HTML演示

[复制链接]

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13974
发表于 2018-5-26 16:11:49 | 显示全部楼层 |阅读模式
最新版才支持的功能,请先更新 aardio 再测试,
先看看写的这么任性的HTML,解析并格式化的效果:
import console;

var html =  /*
<table>
<caption>37547 TEE Electric Powered Rail Car Train Functions (Abbreviated)
<colgroup><col><col><col>
<thead>
<tr>
  <th>Function
  <th>Control Unit
  <th>Central Station
<tbody>
<tr>
  <td>Headlights
  <td>&#10004;
  <td>&#10004;
<tr>
  <td>Interior Lights
  <td>&#10004;
  <td>&#10004;
<tr>
  <td>Electric locomotive operating sounds
  <td>&#10004;
  <td>&#10004;
<tr>
  <td>Engineer’s cab lighting
  <td>
  <td>&#10004;
<tr>
  <td>Station Announcements - Swiss
  <td>
  <td>&#10004;
</table>
*/


import string.html;
var htmlDoc = string.html( html )

console.log( htmlDoc.outerXml(
true) )
console.more(1)

再来一个:
import console;

var html =  /*
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />  <style type="text/css">
    html,body{ height:100%; margin:0; }
</style>     <script type="text/javascript"></script>
<body><div id="header"></div> <div id="container">
<br>
<div class="lside">

<span>aaaaaaaaaa<span>aaaaaaaaaaaaaaaaaaaaa</span>aaaaaaaaaaa</span>

</div>  <div class="rside"> </div>   

</div>
*/


import string.html;
var htmlDoc = string.html( html )

console.log( htmlDoc.outerXml(
true) )
console.more(1)

来个大的:
import win.ui;
/*DSG{{*/
var winform = win.form(text="格式化HTML";right=759;bottom=469)
winform.add(
button={cls=
"button";text="格式化HTML";left=504;top=432;right=704;bottom=464;db=1;dr=1;z=2};
richedit={cls=
"richedit";left=16;top=8;right=752;bottom=424;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=1}
)
/*}}*/

winform.button.oncommand =
function(id,event){
   
import web.rest.client;
   
import string.html;
   
   
var html = web.rest.client().get("http://www.qq.com");
   
var doc = string.html(html)
   
    winform.richedit.text = doc.outerXml(
true)
}

winform.show()
win.loopMessage();


注意,只要反过来用  htmlDoc.outerXml(false,"") 就可以实现压缩HTML的功能

回复

使用道具 举报

15

主题

39

帖子

272

积分

二级会员

Rank: 3Rank: 3

积分
272
发表于 2018-5-26 20:30:10 | 显示全部楼层
Jacen牛逼!!!
-----------------------------------------
回复

使用道具 举报

2

主题

10

帖子

100

积分

一级会员

Rank: 2

积分
100
发表于 2018-5-28 07:45:46 | 显示全部楼层
aardio的大厦已经建出,剩下的只是小修小补了。
string.search很有用
回复

使用道具 举报

0

主题

11

帖子

140

积分

一级会员

Rank: 2

积分
140
发表于 2018-5-28 12:27:12 | 显示全部楼层
Jacen代码写的精简给力,一目了然,学习了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-12-15 21:28 , Processed in 0.062500 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表