从JavaScript内容的开头和结尾删除<p> <br/> </p>标签

时间:2019-12-19 12:49:25

标签: javascript

我正在寻找一个JavaScript正则表达式,可以通过它从内容中删除Write-Host标签。

例如:

下面是我的内容

<p><br><p>

我正在寻找这个

<p><br></p> <p>function removes whitespace or other predefined characters from the right side of a string.</p> <p><br></p> <p><br/><p>

我正在使用此代码,但无法正常工作

<p>function removes whitespace or other predefined characters from the right side of a string.</p>

4 个答案:

答案 0 :(得分:2)

您只能提取 Could someone explain to me how to select all of the categories but also only select the machine specified by WHERE machinery_id = 5. Many thanks ,而不是替换if(checkForWinner()){ if(currentTurn === 2){ // X player wins alert(`${player1Name} won this round.`) player1score++ document.querySelector('#player_one_score').innerText = player1score } else{ alert(`${player2Name} won this round.`) player2score++ document.querySelector('#player_two_score').innerText = player2score }

例如下面的例子,

<p><br></p>

答案 1 :(得分:1)

您要删除HTML换行符<br/>及其周围的段落元素<p>,而不要删除空白,而要使用当前的正则表达式。

  

\ s + 匹配任何空格字符(等于[\ r \ n \ t \ f \ v])

对于您的情况<p><br[\/]?><[\/]?p>,这应该是正确的正则表达式

function rtrim(str) {
  if(!str) return str;
  return str.replace(/<p><br[\/]?><[\/]?p>/g, '');
}

console.log(rtrim("<p><br></p><p>function removes whitespace or other predefined characters from the right side of a string.</p><p><br></p><p><br/><p>"));

我使用<br[\/]?>确保带有和不带有正斜杠的换行符都匹配。

答案 2 :(得分:0)

您可以尝试过滤掉不需要的项目。

const filteredStr = str.split(" ").filter(x => x != "<p>" || x != "<b>").join(" "); 

答案 3 :(得分:0)

如果您特别需要RegExp,我建议使用 Red 发布的答案。

如果不需要使用RegExp,则可以按行拆分并过滤该字符串,然后再次将其连接,
尽管此示例仅在用\n 分隔时才有效:

function rtrim(str) {
  if(!str) return str;
  return str
    .split('\n')
    .filter((s) => s === '<p><br></p>')
    .join('\n');
}