0 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm. Learn more.
Tôi có một tờ có dữ liệu được trích xuất từ tin nhắn Gmail. Tôi phải sử dụng getBody() thay vì getPlainBody() vì email có một bảng trong đó. Cách dễ nhất để loại bỏ các thẻ HTML khỏi thân email được trích xuất là gì?
Dưới đây là mã tôi hiện đang sử dụng, cứ sau 60 giây: function getORHPEmails() {
var destArray = new Array();
var oldLabel = GmailApp.getUserLabelByName('NEW ORHP JOBS');
var newLabel = GmailApp.getUserLabelByName('TEST - PROCESSED');
var threads = oldLabel.getThreads(0,10);
for(var n in threads){
var msg = threads[n].getMessages();
var destArrayRow = new Array();
for(var m in msg){
destArrayRow.push(msg[m].getDate());
destArrayRow.push(msg[m].getSubject());
destArrayRow.push(msg[m].getBody());
}
destArray.push(destArrayRow);
threads[n].removeLabel(oldLabel).addLabel(newLabel);
}
Logger.log(destArray);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('ORHP EMAIL');
if(ss.getLastRow()==0){sh.getRange(1,1).setValue('getMessagesWithLabel()RESULTS')};
sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length).setValues(destArray)
}
Mogsdad 43.5K20 Huy hiệu vàng147 Huy hiệu bạc264 Huy hiệu đồng20 gold badges147
silver badges264 bronze badges Đã hỏi ngày 7 tháng 7 năm 2015 lúc 17:09Jul 7, 2015 at 17:09 Tôi đã hiểu rồi. Đây là sự thay đổi trong mã tôi đã sử dụng: function getTextFromHtml(html) {
return getTextFromNode(Xml.parse(html, true).getElement());
}
var _itemNum; // Used to lead unordered & ordered list items.
function getTextFromNode(x) {
switch(x.toString()) {
case 'XmlText': return x.toXmlString();
case 'XmlElement':
var name = x.getName().getLocalName();
Logger.log(name);
var pre = '';
var post = '';
switch (name) {
case 'br':
case 'p':
pre = '';
post = '\n';
break;
case 'ul':
pre = '';
post = '\n';
itemNum = 0;
break;
case 'ol':
pre = '';
post = '\n';
_itemNum = 1;
break;
case 'li':
pre = '\n' + (_itemNum == 0 ? ' - ' : (' '+ _itemNum++ +'. '));
post = '';
break;
default:
pre = '';
post = '';
break;
}
return pre + x.getNodes().map(getTextFromNode).join('') + post;
default: return '';
}
}
function getORHPEmails() {
var destArray = new Array();
var oldLabel = GmailApp.getUserLabelByName('NEW ORHP JOBS');
var newLabel = GmailApp.getUserLabelByName('TEST - PROCESSED');
var threads = oldLabel.getThreads(0,10);
for(var n in threads){
var msg = threads[n].getMessages();
var destArrayRow = new Array();
for(var m in msg){
destArrayRow.push(msg[m].getDate());
destArrayRow.push(msg[m].getSubject());
destArrayRow.push(getTextFromHtml(msg[m].getBody()));
}
destArray.push(destArrayRow);
threads[n].removeLabel(oldLabel).addLabel(newLabel);
}
Logger.log(destArray);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName('ORHP EMAIL');
if(ss.getLastRow()==0){sh.getRange(1,1).setValue('getMessagesWithLabel() RESULTS')};
sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length).setValues(destArray)
}
Tín dụng được chuyển đến Mogsdad tại Xóa định dạng HTML khi nhận được tin nhắn Gmail trong JavaScript Đã trả lời ngày 7 tháng 7 năm 2015 lúc 18:14Jul 7, 2015 at 18:14
1 Tôi có một luồng sao chép nội dung email (cơ thể) vào trường Danh sách SharePoint (nhiều dòng văn bản). Nội dung được sao chép với thẻ HTML. & NBSP; Làm cách nào để xóa các thẻ HTML? Nội dung dưới đây là một "thử nghiệm 6" đơn giản trong thân email sau đó được sao chép với tất cả & nbsp; Đánh dấu bổ sung vào danh sách SharePoint.Test 6" in the email body which then was copied with all the additional markup into the SharePoint list. ------ Ví dụ ---------- & NBSP; Kiểm tra 6
|