Отображение гиперссылок с пользовательским стилем
Contents
[
Hide
]
Могут быть случаи, когда вам необходимо выводить гиперссылки с определенным стилем в зависимости от требований вашего приложения. Для этого Aspose.Email предоставляет HyperlinkRenderingCallback. Вы можете передать HyperlinkRenderingCallback в качестве параметра метода MailMessage.GetHtmlBodyText.
Следующий фрагмент кода показывает, как использовать HyperlinkRenderingCallback для вывода гиперссылок с использованием вашего собственного пользовательского стиля.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
public static void main(String[] args) { | |
String dataDir = Utils.getSharedDataDir(CustomHyperlinkRendering.class) + "email/"; | |
String fileName = dataDir + "LinksSample.eml"; | |
MailMessage msg = MailMessage.load(fileName); | |
String htmlTextHref = msg.getHtmlBodyText(new HyperlinkRenderingCallback() { | |
@Override | |
public String invoke(String source) { | |
return RenderHyperlinkWithHref(source); | |
} | |
}); | |
System.out.println(htmlTextHref); | |
String htmlTextHrefLess = msg.getHtmlBodyText(new HyperlinkRenderingCallback() { | |
@Override | |
public String invoke(String source) { | |
return RenderHyperlinkWithoutHref(source); | |
} | |
}); | |
System.out.println(htmlTextHrefLess); | |
} | |
private static String RenderHyperlinkWithHref(String source){ | |
int start = source.indexOf("href=\"") + "href=\"".length(); | |
int end = source.indexOf("\"", start + "href=\"".length()); | |
String href = source.substring(start, end); | |
start = source.indexOf(">") + 1; | |
end = source.indexOf("<", start); | |
String text = source.substring(start, end); | |
String link = text + "<" + href + ">"; | |
return link; | |
} | |
private static String RenderHyperlinkWithoutHref(String source){ | |
int start = source.indexOf(">") + 1; | |
int end = source.indexOf("<", start); | |
String text = source.substring(start, end); | |
return text; | |
} |
Методы RenderHyperlinkWithHref и RenderHyperlinkWithoutHref предназначены для демонстрации рендеринга гиперссылок и не предназначены для использования в продуктивной среде.