Package org.htmlcleaner

Examples of org.htmlcleaner.HtmlCleaner


  public HtmlCleanerBookProcessor() {
    this.htmlCleaner = createHtmlCleaner();
  }

  private static HtmlCleaner createHtmlCleaner() {
    HtmlCleaner result = new HtmlCleaner();
    CleanerProperties cleanerProperties = result.getProperties();
    cleanerProperties.setOmitXmlDeclaration(true);
    cleanerProperties.setOmitDoctypeDeclaration(false);
    cleanerProperties.setRecognizeUnicodeChars(true);
    cleanerProperties.setTranslateSpecialEntities(false);
    cleanerProperties.setIgnoreQuestAndExclam(true);
View Full Code Here


public class HHCParser {

  public static final String DEFAULT_HTML_INPUT_ENCODING = "Windows-1251";
 
  public static List<TOCReference> parseHhc(InputStream hhcFile, Resources resources) throws IOException, ParserConfigurationException,  XPathExpressionException {
    HtmlCleaner htmlCleaner = new HtmlCleaner();
    CleanerProperties props = htmlCleaner.getProperties();
    TagNode node = htmlCleaner.clean(hhcFile);
    Document hhcDocument = new DomSerializer(props).createDOM(node);
    XPath xpath = XPathFactory.newInstance().newXPath();
    Node ulNode = (Node) xpath.evaluate("body/ul", hhcDocument
        .getDocumentElement(), XPathConstants.NODE);
    List<TOCReference> sections = processUlNode(ulNode, resources);
View Full Code Here

  // Utility to minimise number of times the cleaner is created
 
  private void createHtmlCleanerIfNeeded()
  {
    if (null == cleaner) {
      cleaner = new HtmlCleaner();
      CleanerProperties props = cleaner.getProperties();
      props.setAllowHtmlInsideAttributes(true);
      props.setAllowMultiWordAttributes(true);
      props.setRecognizeUnicodeChars(true);
      props.setOmitComments(true);
View Full Code Here

  }

  private void init() {
   
    // Initialize HTMLCleaner
    cleaner = new HtmlCleaner();
    CleanerProperties props = cleaner.getProperties();
    props.setAllowHtmlInsideAttributes(true);
    props.setAllowMultiWordAttributes(true);
    props.setRecognizeUnicodeChars(true);
    props.setOmitComments(true);
View Full Code Here

      int statusCode = client.executeMethod(method);
      if (statusCode != 200) {
        throw new RuntimeException("Failed to get page: " + statusCode);
      }
      String response = method.getResponseBodyAsString();
      HtmlCleaner html = new HtmlCleaner();
      TagNode content = html.clean(response).findElementByAttValue("id", "content", true, false);
      Object[] rows = content.evaluateXPath("table/tbody/tr[@id]");
      for (Object row: rows) {
        if (!(row instanceof TagNode)) {
          continue;
        }
View Full Code Here

      String charset = get.getRequestCharSet();

      //
      // Check for charset overrides in the HTML start page
      //
      HtmlCleaner cleaner = new HtmlCleaner();
      TagNode httpEquivNode = cleaner.clean(get.getResponseBodyAsStream()).findElementByAttValue("http-equiv", "content-type", true, false);
      if (httpEquivNode != null && httpEquivNode.hasAttribute("content")){
        String value = httpEquivNode.getAttributeByName("content");
        int offset = value.indexOf("charset=");
        if (offset >= -1){
            charset = value.substring(offset+8).toUpperCase();
View Full Code Here

    CleanerProperties props = new CleanerProperties();
    props.setUseCdataForScriptAndStyle( false );
    props.setAllowHtmlInsideAttributes( false );
    props.setPruneTags( "style, script" );

    HtmlCleaner cleaner = new HtmlCleaner( props );
    try {
      TagNode node = cleaner.clean( new StringReader( content ) );

      TagNode[] nodes = node.getElementsByName( "a", true );
      for (TagNode tagnode : nodes) {
        tagnode.removeAttribute( "target" );
        tagnode.addAttribute( "target", "_blank" );
      }
      nodes = node.getElementsByName( "img", true );
      for (TagNode tagnode : nodes) {
        tagnode.removeAttribute( "src" );
        tagnode.addAttribute( "src", "NO_IMAGE" );
      }
      System.out.println( node.getText() );

      return cleaner.getInnerHtml( node );

    } catch (IOException e) {

      e.printStackTrace();
    }
View Full Code Here

   * @param hasImages
   * @return
   */
  public static String formatHTMLText( String messageText, boolean loadImages, boolean[] hasImages ) {

    HtmlCleaner cleaner = new HtmlCleaner( CLEANER_PROPERTIES );
    String result = "";

    try {
      TagNode rootNode = cleaner.clean( new StringReader( messageText ) );

      TagNode[] nodes = rootNode.getElementsByName( "a", true );
      if ( nodes != null && nodes.length > 0 ) {
        for (TagNode tagnode : nodes) {
          tagnode.removeAttribute( "target" );
          tagnode.addAttribute( "target", "_blank" );
        }
      }

      nodes = rootNode.getElementsByName( "img", true );
      if ( nodes != null && nodes.length > 0 ) {
        hasImages[0] = true;
        if ( !loadImages ) {
          for (TagNode tagnode : nodes) {
            tagnode.removeAttribute( "src" );
            tagnode.addAttribute( "src", "NO_IMAGE" );
          }
        }
      }

      result = cleaner.getInnerHtml( rootNode );
    }
    catch (IOException e) {
      log.error( e.getMessage(), e );
    }

View Full Code Here

   * @param htmlText
   * @return
   */
  public static String convertHtml2PlainText( String htmlText ) {

    HtmlCleaner cleaner = new HtmlCleaner( CLEANER_PROPERTIES );

    try {
      TagNode rootNode = cleaner.clean( new StringReader( htmlText ) );
      return rootNode.getText().toString();
    }
    catch (IOException e) {
      log.error( e.getMessage(), e );
    }
View Full Code Here

   * @param hasImages
   * @return
   */
  public static String formatHTMLText( String messageText, boolean loadImages, boolean[] hasImages ) {

    HtmlCleaner cleaner = new HtmlCleaner( CLEANER_PROPERTIES );
    String result = "";

    try {
      TagNode rootNode = cleaner.clean( new StringReader( messageText ) );

      TagNode[] nodes = rootNode.getElementsByName( "a", true );
      if ( nodes != null && nodes.length > 0 ) {
        for (TagNode tagnode : nodes) {
          tagnode.removeAttribute( "target" );
          tagnode.addAttribute( "target", "_blank" );
        }
      }

      nodes = rootNode.getElementsByName( "img", true );
      if ( nodes != null && nodes.length > 0 ) {
        hasImages[0] = true;
        if ( !loadImages ) {
          for (TagNode tagnode : nodes) {
            tagnode.removeAttribute( "src" );
            tagnode.addAttribute( "src", "NO_IMAGE" );
          }
        }
      }

      result = cleaner.getInnerHtml( rootNode );
    }
    catch (IOException e) {
      log.error( e.getMessage(), e );
    }

View Full Code Here

TOP

Related Classes of org.htmlcleaner.HtmlCleaner

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.