任何人都可以建議一種簡單的方法來執行以下操作嗎?
"this is <mark>just an</mark> example <mark>snippet</mark>"
到
["this is", "<mark>just an</mark>", "example", "<mark>snippet</mark>" ]
uj5u.com熱心網友回復:
只需按正則運算式拆分,這將為您提供一些空元素.. 之后您可以過濾空元素。
let a = "this is <mark>just an</mark> example <mark>snippet</mark>";
let x = a.split(/( <mark>.*?().*?<\/mark>)/g); // ['one', '.two', '.three'];
console.log(x.filter( (el) =>el) );
uj5u.com熱心網友回復:
function splitHTML (inputString) {
const result = [];
// 1. Replace a HTML tag with ###<mark> and </mark>###
inputString = inputString.replaceAll('<mark', '###<mark');
inputString = inputString.replaceAll('</mark>', '</mark>###');
// 2. Split on the newly added sign
inputString = inputString.split('###');
// 3. Filter out empty lines and return the result
return inputString.filter((a) => a);
}
console.log(splitHTML('this is <mark>just an</mark> example <mark>snippet</mark>')); // => ['this is ', '<mark>just an</mark>', ' example ', '<mark>snippet</mark>']
uj5u.com熱心網友回復:
按正則運算式拆分,但要考慮所有 HTML 標簽,而不僅僅是<mark>.
function splitHTML (inputString) {
return inputString
.split(/(<[a-zA-Z]*>.*?().*?<\/[a-zA-Z]*>)/g)
.filter((i) => i);
}
console.log(splitHTML('this is <mark>just an</mark> example <mark>snippet</mark>'));
uj5u.com熱心網友回復:
嘗試使用全部替換,它會起作用....
<input type="text" id="text" style="width:500px; max-width: 500px;"/>
<script>
const value = "this is <mark>just an</mark> example <mark>snippet</mark>";
var result = "[\"" value.replaceAll(" <mark>", "\", \"<mark>").replaceAll("</mark> ", "</mark>\" , \"") "\"]";
document.getElementById("text").value = result;
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/338714.html
標籤:javascript html 细绳 算法 反应原生
上一篇:如何使用Javascript從具有多個功能的單擊事件偵聽器中洗掉單個功能?
下一篇:如何在html檔案中參考JS
