@Override public String renderNodeXhtml(Node node) { StringBuilder ret = new StringBuilder(); if (node.lengthChildren() == 0) { return ""; } // Внцтри [url] только текст TextNode txtNode = (TextNode) node.getChildren().iterator().next(); String url; if (node.isParameter()) { // сюда никогда не должна попасть обрабатывается специально в Parser url = node.getParameter().trim(); } else { url = txtNode.getText().trim(); } String linkText = txtNode.getText().trim(); if (linkText == null || linkText.isEmpty()) { linkText = url; } String escapedUrl = URLUtil.fixURL(url); if (URLUtil.isUrl(escapedUrl)) { ret.append("<a href=\""); ret.append(escapedUrl); ret.append("\">"); ret.append(Parser.escape(linkText)); ret.append("</a>"); } else { ret.append("<s>"); ret.append(Parser.escape(url)); ret.append("</s>"); } return ret.toString(); }
@Override public String renderXHtml() { ToHtmlFormatter toHtmlFormatter = state.getRootNode().getToHtmlFormatter(); if (toHtmlFormatter != null) { if (TagNode.class.isInstance(parent)) { TagNode tagNode = (TagNode) parent; if (parserParameters.getAutoLinkTags().contains(tagNode.bbtag.getName())) { return toHtmlFormatter.format( text, state.getRootNode().isSecure(), state.getRootNode().isNofollow(), state.getTypoChanger()); } else { return toHtmlFormatter.simpleFormat(state.getTypoChanger().format(text)); } } } return Parser.escape(text); }
@Override public String renderOg() { return Parser.escape(text); }