我有一个代码可以接收Gmail中的电子邮件
但是身体附带了“HTML标签”,我如何过滤掉这些“标签”?
示例:
身体:
<span><span style="font-weight:bold" dir="ltr">eu</span>:
<a href="http://neuhaus.com.br" target="_blank">neuhaus.com.br</a>
D6477233ACC7C56D</span><br>
我需要过滤身体:
eu:neuhaus.com.br D6477233ACC7C56D
代码:
function processPending() {
var label_pending = GmailApp.getUserLabelByName('Teste');
var label_done = GmailApp.getUserLabelByName('TesteDone');
var sheet = SpreadsheetApp.getActiveSheet();
var rowstart = (sheet.getLastRow() + 1)
var threads = label_pending.getThreads();
for (var t in threads) {
var thread = threads[t];
var message = thread.getMessages()[0];
var messbody = message.getBody();
thread.removeLabel(label_pending);
thread.addLabel(label_done);
sheet.getRange(rowstart, getColIndexByName('Conteúdo')).setValue(messbody);
rowstart++;
}
return 0;
}
function getColIndexByName(colName) {
var sheet = SpreadsheetApp.getActiveSheet();
var numColumns = sheet.getLastColumn();
var row = sheet.getRange(1, 1, 1, numColumns).getValues();
for (i in row[0]) {
var name = row[0][i];
if (name == colName) {
return parseInt(i) + 1;
}
}
return -1;
}
答案 0 :(得分:1)
有一个类似的问题here,请看Corey的答案(我不会在这里复制代码),它完全符合您的要求:-)
答案 1 :(得分:0)
您可以尝试使用正则表达式去除标记 p>
var stripped = messbody.replace(/(\<[^>]+\>)+/g,' ');
有时候会出现问题,所以你应该小心,但对于简单的HTML,就像你列出的样本一样,这将有效。
答案 2 :(得分:0)
如果允许使用jQuery,则应检查$.text()函数。
var text = $('<div>Text 1<b>Bold Text</b> Text 2</div>').text();
// stores 'Text 1 Bold Text Text 2'