2017-08-17 182 views
-1

我有文字正則表達式忽略HTML標籤

<p>This is some text 
    <span style="color: rgb(54, 54, 54);"> and here is a bit more</span> 
    and even more. 
</p> 

和這個正則表達式<[^>]*>的字符串將抓住從它下面。

<p> 
    <span style="color: rgb(54, 54, 54);"></span> 
</p> 

我該如何獲得相反的結果呢?我期待着取代文字。一直在搜索,只能設法找到使用上述正則表達式來替換去除標籤的內容。

我正在尋找我的VueJS應用程序中的文本。

+2

https://stackoverflow.com/questions/6520192/get-text-node-of-an-element – Amy

+1

https://stackoverflow.com/a/44955924/392102 –

回答

1

首先,如果你可以訪問DOM使用nodeElement.innerText 如果你不能那麼HTML可能會是一個字符串,所以只需使用你的正則表達式,並用空字符串取代,以獲得相反的。

console.log('1) ',target.innerText); 
 
console.log('2) ',target.innerHTML.replace(/<[^>]*>/g,''));
<div id="target"><p>This is some text<span style="color: rgb(54, 54, 54);"> and here is a bit more</span>and even more.</p></div>