簡體   English   中英

如何在字符串中的標簽周圍包裝標簽-Javascript

[英]How to wrap a tag around a tag in a string - Javascript

我有一個字符串。 說它看起來像這樣:

<!DOCTYPE html>
<html>
    <head>
        <title>Web Page</title>
    </head>
    <body>
        <p>Content.</p>
    </body>
</html>

如何使輸出看起來像這樣?

<!DOCTYPE html>
&lt;<span class="tag>html</span>&gt;
    &lt;<span class="tag>head</span>&gt;
        &lt;<span class="tag>title</span>&gt;Web Page&lt;<span class="tag>/title</span>&gt;
    &lt;<span class="tag>/head</span>&gt;
    &lt;<span class="tag>body</span>&gt;
        &lt;<span class="tag>p</span>&gt;Content.&lt;<span class="tag>/p</span>&gt;
    &lt;<span class="tag>/body</span>&gt;
&lt;<span class="tag>/html</span>&gt;

使用String#replace方法將所有標簽替換為已包裝的跨度。

str.replace(/&lt;(\/?\w+)&gt;/g, '&lt;<span class="tag">$1</span>&gt;');
// or .replace(/(&lt;)(\/?\w+)(&gt;)/g, '$1<span class="tag">$2</span>$3')

 var str = `&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Web Page&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;p&gt;Content.&lt;/p&gt; &lt;/body&gt; &lt;/html&gt;` document.body.innerHTML = str.replace(/&lt;(\\/?\\w+)&gt;/g, '&lt;<span class="tag">$1</span>&gt;'); 
 .tag { color: red; } 


正則表達式的解釋在這里。

我將分兩步使用String.replace ...

str.replace(/&lt;/g,'&lt;<span class="tag">').replace(/&gt;/g,'</span>&gt;');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM