[英]Separate string with HTML tag with Javascript
var str = '<h1>Header</h1><p>Paragraph</p>
我有一個字符串str
我想分隔h1
和p
文本。
結果:
var h = 'Header'
var p = 'Paragraph'
有什么捷徑嗎? 我用 for 循環試過了。
在這里,沒有字符串操作:
const str = '<h1>Header</h1><p>Paragraph</p>' const div = document.createElement('div'); div.innerHTML = str; const [h, p] = [...div.children].map(el=>el.textContent); console.log(h, p);
或者更簡潔,使用實驗性的DOMParser
API:
const doc = new DOMParser().parseFromString('<h1>Header</h1><p>Paragraph</p>', 'text/html'); const [h, p] = [...doc.body.children].map(el=>el.textContent); console.log(h, p);
使用jQuery:
var str = '<h1>Header</h1><p>Paragraph</p>'
var h = $.parseHTML( str )[0].innerText
var p = $.parseHTML( str )[1].innerText
嘗試正則表達式:
var str = '<h1>Header</h1><p>Paragraph</p>'; var result = str.match(/<([\\w]+)[^>]*>(.*?)<\\/([\\w]+)[^>]*>/g).map(function(val){ var pre = val.split('>')[1]; return pre.substr(0, pre.lastIndexOf('<')); }); console.log(JSON.stringify(result));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.