Package org.freeplane.core.util
Class HtmlUtils
- java.lang.Object
-
- org.freeplane.core.util.HtmlUtils
-
public class HtmlUtils extends Object
Utilities for conversion from/to HTML and XML used in Freeplane: In scripts available as "global variable"htmlUtils
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HtmlUtils.IndexPair
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
combineTextWithExceptionInfo(String text, Exception ex)
static String
element(String name, String content)
static String
element(String name, Map<String,String> attributes, String content)
static int
endOfText(String html)
static String
extractRawBody(String text)
static Element
getCurrentLinkElement(HTMLDocument doc, int pos)
static HtmlUtils
getInstance()
static int
getMaximalOriginalPosition(int pI, ArrayList<HtmlUtils.IndexPair> pListOfIndices)
static int
getMinimalOriginalPosition(int pI, ArrayList<HtmlUtils.IndexPair> pListOfIndices)
static String
getReplaceResult(Pattern pattern, String text, String replacement)
Replaces text in node content without replacing tags.static String
getURLOfExistingLink(HTMLDocument doc, int pos)
Gets the string URL of an existing link, or null if none.static String
htmlToPlain(String text)
equivalent to htmlToPlain(text, strictHTMLOnly=true, removeNewLines=true)static String
htmlToPlain(String text, boolean strictHTMLOnly)
equivalent to htmlToPlain(text, strictHTMLOnly, removeNewLines=true)static String
htmlToPlain(String text, boolean strictHTMLOnly, boolean removeNewLines)
removes html markup and entities, partly and where appropriate by replacing it by plaintext equivalents like <li> → '*'.static boolean
isEmpty(String newText)
static boolean
isHtmlNode(String text)
static String
join(String... texts)
Join arbitrary texts to html.static String
plainToHTML(String text)
transforms&, <, >, \n
and whitespace by their HTML counterpart and encloses the whole text in<html><body><p>...</p></body></html>
.static String
removeAllTagsFromString(String text)
static String
removeHtmlTagsFromString(String text)
Removes all tags (<..>) from a string if it starts with "<html>..." to make it compareable.static String
toHtml(String xhtmlText)
static String
toHTMLEscapedText(String s)
static String
toXhtml(String htmlText)
static String
toXMLEscapedText(String text)
static String
toXMLEscapedTextExpandingWhitespace(String text)
static String
toXMLUnescapedText(String text)
static String
unescapeHTMLUnicodeEntity(String text)
static String
unicodeToHTMLUnicodeEntity(String text)
-
-
-
Method Detail
-
getInstance
public static HtmlUtils getInstance()
-
htmlToPlain
public static String htmlToPlain(String text)
equivalent to htmlToPlain(text, strictHTMLOnly=true, removeNewLines=true)- See Also:
htmlToPlain(String, boolean, boolean)
-
htmlToPlain
public static String htmlToPlain(String text, boolean strictHTMLOnly)
equivalent to htmlToPlain(text, strictHTMLOnly, removeNewLines=true)- See Also:
htmlToPlain(String, boolean, boolean)
-
htmlToPlain
public static String htmlToPlain(String text, boolean strictHTMLOnly, boolean removeNewLines)
removes html markup and entities, partly and where appropriate by replacing it by plaintext equivalents like <li> → '*'.- Parameters:
strictHTMLOnly
- if true does nothing unless the text starts with <html>removeNewLines
- set to false to keep all blank lines.
-
isHtmlNode
public static boolean isHtmlNode(String text)
-
plainToHTML
public static String plainToHTML(String text)
transforms&, <, >, \n
and whitespace by their HTML counterpart and encloses the whole text in<html><body><p>...</p></body></html>
.
-
removeHtmlTagsFromString
public static String removeHtmlTagsFromString(String text)
Removes all tags (<..>) from a string if it starts with "<html>..." to make it compareable.
-
toXMLEscapedTextExpandingWhitespace
public static String toXMLEscapedTextExpandingWhitespace(String text)
-
getMaximalOriginalPosition
public static int getMaximalOriginalPosition(int pI, ArrayList<HtmlUtils.IndexPair> pListOfIndices)
- Returns:
- the maximal index i such that pI is mapped to i by removing all tags from the original input.
-
getMinimalOriginalPosition
public static int getMinimalOriginalPosition(int pI, ArrayList<HtmlUtils.IndexPair> pListOfIndices)
-
getReplaceResult
public static String getReplaceResult(Pattern pattern, String text, String replacement)
Replaces text in node content without replacing tags. fc, 19.12.06: This method is very difficult. If you have a simpler method, please supply it. But look that it complies with FindTextTests!!!
-
endOfText
public static int endOfText(String html)
-
combineTextWithExceptionInfo
public static String combineTextWithExceptionInfo(String text, Exception ex)
-
getURLOfExistingLink
public static String getURLOfExistingLink(HTMLDocument doc, int pos)
Gets the string URL of an existing link, or null if none.
-
getCurrentLinkElement
public static Element getCurrentLinkElement(HTMLDocument doc, int pos)
-
isEmpty
public static boolean isEmpty(String newText)
-
join
public static String join(String... texts)
Join arbitrary texts to html. Plain text arguments will be transformed viaplainToHTML(String)
, i.e. newlines and other special characters will be translated to their HTML counterpart and wrapped in a paragraph (<p></p>).// plain + html -> <html><body><p>text1</p>text2</body></html> HtmlUtils.join("text1", "", "<html><body>text2</body></html>"); // insert an empty paragraph (<p></p>) between two strings: HtmlUtils.join("text1", "", "text2"); // this will insert two paragraphs: HtmlUtils.join("text1", "\n", "text2");
- Parameters:
texts
- either html (starting with <HTML> or <html>) or plain text.- Returns:
- html
-
-