You need to sign in to do that
Don't have an account?
LALALA
Can I Use PlainTextBody with HtmlBody In The Same Time?
This is my code:
myPlainText = '';
myPlainText = email.plainTextBody;
//CustomerName
String myHtmlText = '';
myHtmlText = email.htmlBody;
string rst;
Pattern p1 = Pattern.compile('Buyer\\s*information[\\s\\S]+?<br>([\\s\\S]*?)</font>');
Matcher m1 = p1.matcher(myHtmlText);
if (m1.find()) {
rst = m1.group(1).replaceAll('(<[^>]*>)','');
}
//OrderNumber
Pattern p2 = Pattern.compile('Invoice ID:([\\d]{7})');
Matcher m2 = p2.matcher(myPlainText);
if (m2.find()) {
system.debug(m2.group(1));
}
string OrderNumber = m2.group(1);
// New PaypalRecord object to be created - set Shipping_Address__c and OrderNumber etc. to object
// dummy values for simplicity
List<PayPal_Record__c> NeedLists = new List<PayPal_Record__c>();
PayPal_Record__c Pplr;
Pplr.CustomerName__c = rst;
Pplr.OrderNumber__c = OrderNumber;
NeedLists.add(Pplr);
}
}
My question: when i debug these code, only can running one of regex, which means if i grab OrderNumber successful, the CustomerName will failed.All in all, i can't successful pass these of two regex together.
I don't know why? because I test single by single is fine,,,,,but together always said no match found......
myPlainText = '';
myPlainText = email.plainTextBody;
//CustomerName
String myHtmlText = '';
myHtmlText = email.htmlBody;
string rst;
Pattern p1 = Pattern.compile('Buyer\\s*information[\\s\\S]+?<br>([\\s\\S]*?)</font>');
Matcher m1 = p1.matcher(myHtmlText);
if (m1.find()) {
rst = m1.group(1).replaceAll('(<[^>]*>)','');
}
//OrderNumber
Pattern p2 = Pattern.compile('Invoice ID:([\\d]{7})');
Matcher m2 = p2.matcher(myPlainText);
if (m2.find()) {
system.debug(m2.group(1));
}
string OrderNumber = m2.group(1);
// New PaypalRecord object to be created - set Shipping_Address__c and OrderNumber etc. to object
// dummy values for simplicity
List<PayPal_Record__c> NeedLists = new List<PayPal_Record__c>();
PayPal_Record__c Pplr;
Pplr.CustomerName__c = rst;
Pplr.OrderNumber__c = OrderNumber;
NeedLists.add(Pplr);
}
}
My question: when i debug these code, only can running one of regex, which means if i grab OrderNumber successful, the CustomerName will failed.All in all, i can't successful pass these of two regex together.
I don't know why? because I test single by single is fine,,,,,but together always said no match found......
You can not use both ,you need to choose either plainTextBody or htmlBody .