我使用Mailgun的真棒Inbound Routing来解析我收到的电子邮件,删除HTML和电子邮件签名,这留给我原始文本。
以下是返回内容的一个小例子:
{
"stripped-html": "<html><body><div style=\"font-family: Helvetica; font-size: 13px;\">Testing with <b>bold<\/b> and <u>stuff<\/u><br><\/div><div style=\"font-family: Helvetica; font-size: 13px;\"><u><br><\/u><\/div><div style=\"font-family: Helvetica; font-size: 13px;\">:)<\/div> \n <div><div><br><\/div><div>-- <\/div><div>Tim Smith<\/div><div><br><\/div><\/div> \n \n <p style=\"color: #A0A0A8;\"><\/p> \n <div> \n <br><\/div><\/body><\/html>",
"stripped-text": "Testing with bold and stuff\n\n:)",
"stripped-signature": "-- \nTim Smith"
}
我想要做的是使用普通stripped-text
,但也复制基本格式,如粗体,斜体和下划线。在这个例子中,单词&#34; bold&#34;是大胆和世界&#34;东西&#34;加下划线。
解决这个问题的最佳方法是什么?
答案 0 :(得分:1)
我会使用“stripped-html”字符串并清理它,这样你就可以摆脱逃脱字符串...
...那么你可以做两件事:
(<\w* \w*=".*?">)(.*)(<\/\w*>)
匹配
然后递归地查找粗体和其他元素,例如<b>(.*?)</b>
,用于没有其他属性的b标签。用粗体替换所有b标签后,您可以直接转到下一个标签。