/*
* HTML文字列をPlainテキストに変換する
* html HTML 文字列
* 戻り値 Plainテキスト
*/
public static String convertToHtmlToText(String html){
String htmlPattern = '<(?i).*?>';
String breakPattern = '(?i)<br\\s*/?>'; // matches <br>, <BR>, <br/>, <br />, <br />, etc.
String whitespacePattern = '\\s+';
String workingText = html!=null ? html : '';
// replace all HTML break tags with the newLine character
Pattern lineBreaks = Pattern.compile(breakPattern);
Matcher matchedLineBreaks = lineBreaks.matcher(workingText);
workingText = matchedLineBreaks.replaceAll(CommonUtility.CRLF);
//plainテキストに変換した時に見栄えがよくなるようにする
workingText = workingText.replaceAll('</li>', CommonUtility.CRLF);
workingText = workingText.replaceAll('<li>', '- ');
// HTMLタグの削除
Pattern htmlTags = Pattern.compile(htmlPattern);
Matcher matchedHTML = htmlTags.matcher(workingText);
workingText = matchedHTML.replaceAll('');
//urlEncodeしてスペースと改行を補正する
workingText = EncodingUtil.urlEncode(workingText, 'UTF-8');
workingText = workingText.replaceAll('%C2%A0', '+'); //space
workingText = workingText.replaceAll('%3Cbr%3E', '%0D%0A'); //carriage return
workingText = EncodingUtil.urlDecode(workingText, 'UTF-8');
return workingText;
}