簡體   English   中英

在Javascript或jQuery中,如何僅刪除第一個和最后一個標記?

[英]In Javascript or jQuery, how do I remove only the first and last tag?

給出以下字符串:

var htmlStr = '<p class="red_349dsa01">This is</p><p class="blue_saf9vsaz">a test</p>';

如何刪除此字符串中的第一個和最后一個標記? 這將是結果:

var htmlStr = 'This is</p><p class="blue_saf9vsaz">a test';

我知道這會創建無效的HTML,但我只想知道是否可以完成此操作。

你需要一個正則表達式:

var regex = /(?:^<p[^>]*>)|(?:<\/p>$)/g;
var htmlStr = '<p class="red_349dsa01">This is</p><p class="blue_saf9vsaz">a test</p>';  
htmlStr.replace(regex, "");

正則表達式的解釋:

  1. 第一部分(?:^<p[^>]*>)使用插入符^字符來匹配字符串的開頭,
  2. 然后<p將匹配開始p標簽的開頭,
  3. [^>]*將匹配除>字符之外的任何字符,
  4. | 將表達式分成兩個,每對括號中的一個可以匹配,
  5. <\\/p>$表達式只有在字符串末尾使用$字符時才會匹配結束</p>標記。

你可以試試像

var htmlStr = '<p class="red_349dsa01">This is</p><p class="blue_saf9vsaz">a test</p>';
alert(htmlStr.substring(htmlStr.indexOf('>') + 1, htmlStr.lastIndexOf('<')));

暫無
暫無

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

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