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

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

javascript - HTML字符串排版

瀏覽:165日期: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一区二| 精品国产中文字幕第一页| 综合五月婷婷| 亚洲精品少妇| 亚洲69av| 7777精品| 欧美日一区二区三区在线观看国产免| 蜜臀国产一区二区三区在线播放| 激情久久久久久| 欧美精品羞羞答答| 亚洲韩日在线| 国产精品女主播一区二区三区| 日韩一区二区中文| 色88888久久久久久影院| 亚洲网站视频| 亚洲综合福利| 999国产精品| 另类av一区二区| 亚洲精品三级| 国产精品欧美在线观看| 狠狠干综合网| 日本在线成人| 日本成人在线视频网站| 欧美黄色一区| 国产精品97| 91在线成人| 国产精品久久久久av电视剧| 欧美va天堂| 国产亚洲一卡2卡3卡4卡新区| 国产精品99久久免费| 日产精品一区| 亚洲黄页一区| 国产激情欧美| 夜夜嗨av一区二区三区网站四季av| 色综合视频一区二区三区日韩| 国产精品一区二区免费福利视频| 国产精品精品国产一区二区| 欧美在线综合| 黑人精品一区| 亚洲国产一区二区在线观看| 亚洲高清激情| 国产精品主播| 国产精品免费大片| 久久亚洲人体| 成人午夜国产| 宅男在线一区| 红桃视频亚洲| 国产免费久久| 首页欧美精品中文字幕| 日韩免费高清| 激情婷婷亚洲| 日韩一区二区三区高清在线观看| 日韩国产一区二| 亚洲一区二区三区四区五区午夜| 日韩毛片一区| 亚洲视频综合| 国产精品99久久久久久董美香| 9色国产精品| 日韩欧美网址| 久久精品99国产精品日本| 久久精品国产www456c0m| 美日韩精品视频| 免费成人网www| xxxxx性欧美特大| 国产香蕉精品| 亚洲三级国产| 激情综合亚洲| 麻豆国产91在线播放| 7777精品| 久久精品国产亚洲aⅴ | 欧美男人天堂| 日韩精品高清不卡| 国产综合欧美| 一区久久精品| 国产亚洲久久| 国产中文欧美日韩在线| sm久久捆绑调教精品一区| 好吊视频一区二区三区四区| 亚洲乱亚洲高清| 国产一区二区三区四区大秀| 久久一区国产| 久久av一区二区三区| 日韩av一二三| 国产精品13p| 亚洲毛片在线| 国产精品中文字幕亚洲欧美| 福利欧美精品在线| 国产一区二区精品| 91成人精品观看| 欧美在线亚洲| 日韩va亚洲va欧美va久久| 日韩在线看片| 亚洲欧洲国产精品一区| 黄色网一区二区| 久久xxxx| 色爱综合网欧美| 日本一区二区三区视频在线看| 国产一区二区三区四区五区| 亚洲精品护士| 久久国产成人午夜av影院宅| 欧美一区精品| 成人av三级| 91久久黄色| 国产免费av国片精品草莓男男| 欧美一区久久| 国产一区成人| 精品三级久久| 国产精品入口久久| 国产日韩欧美一区| 国产欧美日韩综合一区在线播放| 精品久久网站| 亚洲精品观看| 中文亚洲免费| 日韩高清欧美| 亚洲精品少妇| 亚洲成av人片一区二区密柚| 国产欧美日韩精品一区二区三区| 国产一级久久| 成人av二区| 欧美女激情福利| 亚洲精品国产嫩草在线观看| 久久国产麻豆精品| 天使萌一区二区三区免费观看| 精品日韩视频| 国产一区二区三区不卡av | 丝袜美腿诱惑一区二区三区 | 国产精品一在线观看| 久久亚洲专区| 精品久久福利| 日韩av有码| 国产一区二区三区网| 国产欧美亚洲精品a| 久久99久久久精品欧美| 日本不卡视频在线观看| 四虎国产精品免费久久| 日韩高清电影免费| 国产aⅴ精品一区二区四区| 欧美日韩视频网站| 久久中文视频| 丝袜a∨在线一区二区三区不卡| 91精品电影| 成人高清一区| 美女国产精品| 91视频一区| 69堂免费精品视频在线播放| 色一区二区三区| 日韩区欧美区| 精品成人免费一区二区在线播放| 日本午夜精品久久久| 视频一区在线视频| 色老板在线视频一区二区| 国产精品一区二区免费福利视频| 亚洲激情欧美| 精品成人免费一区二区在线播放| 国产探花一区二区| 日韩专区一卡二卡| 亚洲欧美日韩精品一区二区 | 亚洲欧美久久久| 欧美丝袜一区| 亚洲深夜福利| 老牛影视一区二区三区| 欧美特黄一区| 国产亚洲精品v| 99视频在线精品国自产拍免费观看| 久久伊人国产| 电影91久久久| 精品久久精品| 久久国产尿小便嘘嘘| 久久精品av麻豆的观看方式| 国产剧情在线观看一区| 欧美一区久久| 首页国产欧美久久| 亚洲免费成人av在线| 久久激情五月婷婷| 亚洲久久视频| 亚洲大全视频| 欧美香蕉视频| 日韩av有码| 老司机精品视频网| 国产精品亚洲人成在99www| 青草久久视频| 亚洲精品九九| 亚洲一区导航| 午夜国产精品视频| 国产在线成人| 日本在线精品| 久久99久久人婷婷精品综合| 久久国产成人| 在线免费观看亚洲| 日韩在线播放一区二区| 日韩一级精品| 免费视频久久| 美国欧美日韩国产在线播放|