Package org.freeplane.core.util
Class HtmlUtils
- java.lang.Object
-
- org.freeplane.core.util.HtmlUtils
-
public class HtmlUtils extends java.lang.ObjectUtilities 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 classHtmlUtils.IndexPair
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringcombineTextWithExceptionInfo(java.lang.String text, java.lang.Exception ex)static java.lang.Stringelement(java.lang.String name, java.lang.String content)static java.lang.Stringelement(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> attributes, java.lang.String content)static intendOfText(java.lang.String html)static java.lang.StringextractRawBody(java.lang.String text)static javax.swing.text.ElementgetCurrentLinkElement(javax.swing.text.html.HTMLDocument doc, int pos)static HtmlUtilsgetInstance()static intgetMaximalOriginalPosition(int pI, java.util.ArrayList<HtmlUtils.IndexPair> pListOfIndices)static intgetMinimalOriginalPosition(int pI, java.util.ArrayList<HtmlUtils.IndexPair> pListOfIndices)static java.lang.StringgetReplaceResult(java.util.regex.Pattern pattern, java.lang.String text, java.lang.String replacement)Replaces text in node content without replacing tags.static java.lang.StringgetURLOfExistingLink(javax.swing.text.html.HTMLDocument doc, int pos)Gets the string URL of an existing link, or null if none.static java.lang.StringhtmlToPlain(java.lang.String text)equivalent to htmlToPlain(text, strictHTMLOnly=true, removeNewLines=true)static java.lang.StringhtmlToPlain(java.lang.String text, boolean strictHTMLOnly)equivalent to htmlToPlain(text, strictHTMLOnly, removeNewLines=true)static java.lang.StringhtmlToPlain(java.lang.String text, boolean strictHTMLOnly, boolean removeNewLines)removes html markup and entities, partly and where appropriate by replacing it by plaintext equivalents like <li> → '*'.static booleanisEmpty(java.lang.String newText)static booleanisHtmlNode(java.lang.String text)static java.lang.Stringjoin(java.lang.String... texts)Join arbitrary texts to html.static java.lang.StringplainToHTML(java.lang.String text)transforms&, <, >, \nand whitespace by their HTML counterpart and encloses the whole text in<html><body><p>...</p></body></html>.static java.lang.StringremoveAllTagsFromString(java.lang.String text)static java.lang.StringremoveHtmlTagsFromString(java.lang.String text)Removes all tags (<..>) from a string if it starts with "<html>..." to make it compareable.static java.lang.StringtoHtml(java.lang.String xhtmlText)static java.lang.StringtoHTMLEscapedText(java.lang.String s)static java.lang.StringtoXhtml(java.lang.String htmlText)static java.lang.StringtoXMLEscapedText(java.lang.String text)static java.lang.StringtoXMLEscapedTextExpandingWhitespace(java.lang.String text)static java.lang.StringtoXMLUnescapedText(java.lang.String text)static java.lang.StringunescapeHTMLUnicodeEntity(java.lang.String text)static java.lang.StringunicodeToHTMLUnicodeEntity(java.lang.String text)
-
-
-
Method Detail
-
getInstance
public static HtmlUtils getInstance()
-
htmlToPlain
public static java.lang.String htmlToPlain(java.lang.String text)
equivalent to htmlToPlain(text, strictHTMLOnly=true, removeNewLines=true)- See Also:
htmlToPlain(String, boolean, boolean)
-
htmlToPlain
public static java.lang.String htmlToPlain(java.lang.String text, boolean strictHTMLOnly)equivalent to htmlToPlain(text, strictHTMLOnly, removeNewLines=true)- See Also:
htmlToPlain(String, boolean, boolean)
-
htmlToPlain
public static java.lang.String htmlToPlain(java.lang.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(java.lang.String text)
-
plainToHTML
public static java.lang.String plainToHTML(java.lang.String text)
transforms&, <, >, \nand whitespace by their HTML counterpart and encloses the whole text in<html><body><p>...</p></body></html>.
-
removeAllTagsFromString
public static java.lang.String removeAllTagsFromString(java.lang.String text)
-
removeHtmlTagsFromString
public static java.lang.String removeHtmlTagsFromString(java.lang.String text)
Removes all tags (<..>) from a string if it starts with "<html>..." to make it compareable.
-
toXMLEscapedText
public static java.lang.String toXMLEscapedText(java.lang.String text)
-
toXMLEscapedTextExpandingWhitespace
public static java.lang.String toXMLEscapedTextExpandingWhitespace(java.lang.String text)
-
toXMLUnescapedText
public static java.lang.String toXMLUnescapedText(java.lang.String text)
-
unescapeHTMLUnicodeEntity
public static java.lang.String unescapeHTMLUnicodeEntity(java.lang.String text)
-
unicodeToHTMLUnicodeEntity
public static java.lang.String unicodeToHTMLUnicodeEntity(java.lang.String text)
-
getMaximalOriginalPosition
public static int getMaximalOriginalPosition(int pI, java.util.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, java.util.ArrayList<HtmlUtils.IndexPair> pListOfIndices)
-
getReplaceResult
public static java.lang.String getReplaceResult(java.util.regex.Pattern pattern, java.lang.String text, java.lang.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!!!
-
toHtml
public static java.lang.String toHtml(java.lang.String xhtmlText)
-
toXhtml
public static java.lang.String toXhtml(java.lang.String htmlText)
-
endOfText
public static int endOfText(java.lang.String html)
-
combineTextWithExceptionInfo
public static java.lang.String combineTextWithExceptionInfo(java.lang.String text, java.lang.Exception ex)
-
element
public static java.lang.String element(java.lang.String name, java.lang.String content)
-
element
public static java.lang.String element(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> attributes, java.lang.String content)
-
extractRawBody
public static java.lang.String extractRawBody(java.lang.String text)
-
getURLOfExistingLink
public static java.lang.String getURLOfExistingLink(javax.swing.text.html.HTMLDocument doc, int pos)Gets the string URL of an existing link, or null if none.
-
getCurrentLinkElement
public static javax.swing.text.Element getCurrentLinkElement(javax.swing.text.html.HTMLDocument doc, int pos)
-
isEmpty
public static boolean isEmpty(java.lang.String newText)
-
toHTMLEscapedText
public static java.lang.String toHTMLEscapedText(java.lang.String s)
-
join
public static java.lang.String join(java.lang.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
-
-