亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取沒有 HTML 標簽的文本

獲取沒有 HTML 標簽的文本

莫回無 2023-03-10 16:41:54
我正在從 Wordpress api 返回帖子,目前正在獲取一個包含帖子的數組。我可以返回一個字符串,但它包含 HTML 標記。我使用過 textContent 和 innerText,但似乎沒有用。我目前正在返回<p> info: 111,<br /> key: fdfd ,<br /> city: ,<br /> suburb: ,<br /> job:  </p><p>最好的方法是什么 top 只返回沒有and的內容<br>?
查看完整描述

3 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

您需要將該字符串轉換為 HTML 頁面,然后定位“p”元素并提取其文本。就像是:


var p = "<p> info: 111,<br /> key: fdfd ,<br /> city: ,<br /> suburb: ,<br /> job:  </p>"

var parser = new DOMParser();

var htmlDoc = parser.parseFromString(p, 'text/html');

console.log(htmlDoc.body.getElementsByTagName("P")[0].innerText);


查看完整回答
反對 回復 2023-03-10
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

  這更像是對另一種常見方式的警告。


ATD 提到的 的常見替代方法DOMParser()是創建一個元素,將其添加為innerHTML并使用 獲取它textContent。


let tParser = document.createElement('div');

tParser.innerHTML = "<p> info: 111,<br /> key: fdfd ,<br /> city: ,<br /> suburb: ,<br /> job:  </p>";

console.log(tParser.textContent)


但請注意使用innerHTML. 一切都被解釋為 HTML 并從您的站點執行。這意味著,不要將它添加到 DOM 或更好,盡量完全避免它。


此外 MDN 提到以下內容:


如果您的項目將接受任何形式的安全審查,那么使用 innerHTML 很可能會導致您的代碼被拒絕。例如,如果您在瀏覽器擴展中使用 innerHTML 并將擴展提交到 addons.mozilla.org,它將不會通過自動審核流程。


查看完整回答
反對 回復 2023-03-10
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

您的問題已經得到解答:



function extractContent(s) {

  var span = document.createElement('span');

  span.innerHTML = s;

  return span.textContent || span.innerText;

};

    

alert(extractContent("<p>Hello</p><a href='http://w3c.org'>W3C</a>"));


查看完整回答
反對 回復 2023-03-10
  • 3 回答
  • 0 關注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號