日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

javascript - HTML字符串排版

瀏覽:167日期:2022-12-06 16:06:51

問題描述

我現在有HTML代碼的字符串,想要對字符串進行排版,有沒有什么可用的方法?

需要一款js插件,或者方法,能在項目里面轉換用的。

比如原字符串是:

<p><p>This is a p</p><p>This is another p</p></p>

添加空格和換行,變成新的字符串:

<p> <p>This is a p</p> <p>This is another p</p></p>

問題解答

回答1:

第一種方案想用正則做答沒成功,沒有成功。整理了下思路,已經完美解決(自認為完美)。

function codeFormat(code, indent, tmpIndent){ var indent = indent || ’ ’; var tmpIndent = tmpIndent || ’n’; var preg = /<(S*)([^>]*)>([sS]*?)</1>/ig; return code.replace(preg, function($0, $1, $2, $3){return tmpIndent + ’<’ + $1 + $2 + ’>’ + codeFormat($3, indent, tmpIndent + indent) + ( $3.trim().substr(0,1) == ’<’ ? tmpIndent : ’’) + ’</’ + $1 + ’>’; });}codeFormat('<p><p>This is a p</p><p>This is anothers p</p></p><p><p>This is a p</p><p>This is another p</p></p>');/*<p> <p>This is a p</p> <p>This is anothers p</p></p><p> <p>This is a p</p> <p>This is another p</p></p>*/codeFormat(’<html><head><title></title></head><body class='haha'><p style='background:#C00;'><p>This is a p</p><p>This is another p</p></p></body></html>’, ’----’);/*<html>----<head>--------<title></title>----</head>----<body class='haha'>--------<p style='background:#C00;'>------------<p>This is a p</p>------------<p>This is another p</p>--------</p>----</body></html>*/

以下是循環的老答案:

/* 感覺沒什么難度,一個循環 遇見 >后跟<,換行 遇見 < 縮進 遇見 </ 取消縮進*/function codeFormat(code, indent){ var indent = indent || ' '; //縮進字符 var tmpIndent = ''; //保存代碼字符串 var result = '', key = '', keyNext = ''; for( var i = 0 ; i < code.length ; i++ ){key = code[i];keyNext = i < code.length-1 ? code[i+1] : '';if(key == '<'){ if( keyNext == '/' ){tmpIndent = tmpIndent.substr(indent.length); } if( result[result.length-1] == 'n' ){result += tmpIndent; } if( keyNext != '/' ){tmpIndent += indent; }}result += key;if(key == '>' && keyNext == '<' ){ result += 'n';} } return result;}codeFormat('<p><p>This is a p</p><p>This is another p</p></p>');/*<p> <p>This is a p</p> <p>This is another p</p></p>*/codeFormat(’<html><head><title></title></head><body class='haha'><p style='background:#C00;'><p>This is a p</p><p>This is another p</p></p></body></html>’, ’ ’);/*<html> <head><title></title> </head> <body class='haha'><p style='background:#C00;'> <p>This is a p</p> <p>This is another p</p></p> </body></html>*/回答2:

為什么我這個問題一直被踩?還是一個不錯的問題的嘛。。。。@mqycn , @zhenguoli

這是朋友@candy寫的一個方案:

import _ from ’lodash’;const splitOnTags = str => str.split(/(</?[^>]+>)/g).filter(line=>line.trim()!='');const isTag = str => /<[^>!]+>/.test(str);const isClosingTag = str => /</[^>]+>/.test(str);const isSelfClosingTag = str => /<[^>]+/>/.test(str);const isOpeningTag = str => isTag(str) && !isClosingTag(str) && !isSelfClosingTag(str);export default (str, indent) => { let depth = 0; indent = indent || ’ ’; return splitOnTags(str).map(item=>{ if(isClosingTag(item)) { depth--; } const line = _.repeat(indent, depth) + item; if(isOpeningTag(item)) { depth++; } return line; }).join(’n’);}回答3:

http://tool.oschina.net/codef... 在線的。其他的編輯器里面有beautify

javascript - HTML字符串排版

回答4:

對開發工具而言,你可以嘗試 VSCode 編輯器。

https://code.visualstudio.com/

安裝完成后,按 shift-ctrl-x 打開插件列表,搜索 Beautify 并安裝,即可實現 HTML 代碼美化。相應設置參考這里:

https://marketplace.visualstu...

在代碼中進行格式轉換可以使用 HTML String Parser,例如

https://www.npmjs.com/package...

或者使用 cheerio 解析 DOM 文本后重新輸出亦可。

3.(重新制作一個 HTML Parser 并不困難,參考我的專欄http://ewind.us/2016/toy-html...

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久国产成人| 亚洲免费影视| 亚州av一区| 欧美专区一区| 97欧美在线视频| 日韩精品一区二区三区免费观影| 欧美黑人巨大videos精品| 国产毛片精品| 国产一区福利| 亚洲黄页一区| 国产精品最新自拍| 精品久久99| 九九综合九九| 午夜天堂精品久久久久| 91国内精品| 激情六月综合| 精品一区二区三区在线观看视频| 国际精品欧美精品| 9国产精品视频| 国产精品xvideos88| 99免费精品| 在线亚洲免费| 国产日韩欧美在线播放不卡| 九九精品调教| 深夜日韩欧美| 亚洲不卡av不卡一区二区| 亚洲精品成a人ⅴ香蕉片| 日韩1区在线| 欧美日韩一区二区三区四区在线观看| 麻豆成全视频免费观看在线看| 国产视频欧美| 成人精品亚洲| 老司机精品视频在线播放| 蜜桃久久av一区| 色88888久久久久久影院| 国产美女精品视频免费播放软件| 蜜桃av.网站在线观看| 欧美另类中文字幕 | 国产精品女主播一区二区三区| 国产欧美日韩| 日韩视频1区| 91久久中文| 国产伊人精品| 亚洲播播91| 色在线中文字幕| 国产一区二区三区天码| 91嫩草精品| 免费看黄色91| 中文字幕av一区二区三区四区| 伊人影院久久| 日韩一区精品视频| 亚洲有吗中文字幕| 亚洲人成亚洲精品| 中文字幕日韩亚洲| 日韩激情精品| 日韩成人精品一区二区三区| 亚洲伊人精品酒店| 日韩综合一区二区| 欧美一区在线观看视频| 日本a级不卡| 欧美一区影院| 国产剧情在线观看一区| 久久精品国产99国产精品| 麻豆视频在线看| 久久婷婷一区| 久久亚洲电影| 国产午夜精品一区在线观看| 国产精品一站二站| 黑人精品一区| 夜夜嗨一区二区三区| 亚洲一二av| 欧美一区成人| 日韩欧美精品一区| 蜜桃av一区二区三区电影| 国产一区二区三区久久| xxxxx性欧美特大| 影视先锋久久| 日本少妇精品亚洲第一区| 毛片不卡一区二区| 亚洲一区二区三区高清不卡| 欧美日韩在线精品一区二区三区激情综合| 久久一区视频| 亚洲一区免费| 麻豆国产精品| 免费在线成人网| 97国产成人高清在线观看| 日韩欧美四区| 99久久久久国产精品| 天堂va在线高清一区| 婷婷综合五月| 亚洲播播91| 久久av中文| 亚洲三级网站| 亚洲欧美视频| 欧美日韩在线二区| 精品国产亚洲一区二区在线观看| 久久亚洲一区| 欧洲毛片在线视频免费观看| 欧美国产小视频| 欧美aⅴ一区二区三区视频| 蜜桃免费网站一区二区三区| 亚洲欧美视频一区二区三区| 国产综合精品一区| 久久视频国产| 蜜臀久久99精品久久一区二区| bbw在线视频| 久久亚洲人体| 国产在线视频欧美一区| 国产福利91精品一区二区| 久久国产精品免费一区二区三区| 亚洲一区二区三区久久久| 婷婷激情一区| 日本不卡高清| 午夜久久美女| 日韩和的一区二在线| 国产香蕉精品| 日韩精品乱码av一区二区| 蜜桃一区二区三区| 日韩精品第一区| 久久亚洲人体| 久久国产精品美女| 亚洲久久视频| 免费中文字幕日韩欧美| 极品日韩av| 欧美亚洲国产激情| 国产91一区| 久久国产成人午夜av影院宅| 激情中国色综合| 国产aⅴ精品一区二区三区久久| 国产日韩中文在线中文字幕| 日韩高清不卡一区二区| 欧美日本久久| 国产精品久av福利在线观看| 国产日韩欧美一区二区三区在线观看 | 不卡一二三区| 欧美日韩中文一区二区| 不卡福利视频| 最新中文字幕在线播放| 成人黄色av| 深夜视频一区二区| 一区福利视频| 深夜福利一区| 国产精品蜜月aⅴ在线| 国产精品三级| 国产成人a视频高清在线观看| 亚洲啊v在线| 国产精品老牛| 欧美在线黄色| 国产精品欧美一区二区三区不卡| 国产欧美日韩| 欧美日中文字幕| 亚洲精品影视| 91免费精品| 亚洲精品免费观看| 久久久久久一区二区| 蜜桃久久av| 国产精品蜜芽在线观看| 亚洲少妇诱惑| 久久wwww| 丝袜亚洲另类欧美| 卡一卡二国产精品| 午夜欧美精品| 久久精品国产999大香线蕉 | 日韩在线视频一区二区三区| 国产专区精品| 亚洲理论在线| 私拍精品福利视频在线一区| 中文字幕日本一区| 成人久久一区| 国产欧美三级| 丝袜美腿高跟呻吟高潮一区| 中文字幕高清在线播放| 丝袜美腿高跟呻吟高潮一区| 国产精品久久观看| 欧美一级二级视频| 视频一区二区国产| 一本大道色婷婷在线| 欧美日韩亚洲国产精品| 性色一区二区| 亚洲高清毛片| 亚洲永久av| 国产一区丝袜| 国产欧美自拍| 日韩欧美在线精品| 热久久国产精品| 午夜精品一区二区三区国产| 精品资源在线| 国产精品1区| 国产精品亲子伦av一区二区三区| 日本一区二区中文字幕| 久久99伊人| 在线一区免费观看| 91看片一区| 九九精品调教| 久久久国产亚洲精品| jizzjizz中国精品麻豆| 国产乱码午夜在线视频| 国产精品毛片久久| 在线人成日本视频| 国产精品久久久久av电视剧|