Initial import.
This commit is contained in:
commit
b865c6b453
1 changed files with 183 additions and 0 deletions
183
TextToHTML.java
Normal file
183
TextToHTML.java
Normal file
|
@ -0,0 +1,183 @@
|
|||
/*
|
||||
* @(#)TextToHTML.java
|
||||
*
|
||||
* Copyright (C) 2002-2003 by Erik C. Thauvin (erik@thauvin.net)
|
||||
* All rights reserved.
|
||||
*
|
||||
* Donated to the Roller Weblogger project for publication under
|
||||
* the terms of the Roller Software License.
|
||||
*/
|
||||
|
||||
//package com.imacination.jtalk;
|
||||
|
||||
/**
|
||||
* Converts/encodes text to HTML or XML.
|
||||
*
|
||||
* @author Erik C. Thauvin
|
||||
*
|
||||
* @created October 31, 2002
|
||||
*/
|
||||
public class TextToHTML
|
||||
{
|
||||
/**
|
||||
* The main program usage.
|
||||
*/
|
||||
private static final String USAGE = "Usage: java " + TextToHTML.class.getName() + " [-xml] <text-to-convert>";
|
||||
|
||||
/**
|
||||
* Converts a character to HTML or XML entity.
|
||||
*
|
||||
* @param ch The character to convert.
|
||||
* @param xml Convert the character to XML if set to true.
|
||||
*
|
||||
* @return The converted string.
|
||||
*/
|
||||
public static final String charToHTML(char ch, boolean xml)
|
||||
{
|
||||
int c;
|
||||
|
||||
// Convert left bracket
|
||||
if (ch == '<')
|
||||
{
|
||||
return ("<");
|
||||
}
|
||||
|
||||
// Convert left bracket
|
||||
else if (ch == '>')
|
||||
{
|
||||
return (">");
|
||||
}
|
||||
|
||||
// Convert ampersand
|
||||
else if (ch == '&')
|
||||
{
|
||||
return ("&");
|
||||
}
|
||||
|
||||
// High-ASCII character
|
||||
else if (ch >= 128)
|
||||
{
|
||||
c = ch;
|
||||
|
||||
return ("&#" + c + ';');
|
||||
}
|
||||
|
||||
// Convert double quote
|
||||
else if (xml && (ch == '"'))
|
||||
{
|
||||
return (""");
|
||||
}
|
||||
|
||||
// Convert single quote
|
||||
else if (xml && (ch == '\''))
|
||||
{
|
||||
return ("'");
|
||||
}
|
||||
|
||||
// No conversion
|
||||
else
|
||||
{
|
||||
// Return character as string
|
||||
return (String.valueOf(ch));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The main program for the TextToHtml class.
|
||||
*
|
||||
* @param args The command line arguments.
|
||||
*/
|
||||
public static final void main(String[] args)
|
||||
{
|
||||
if (args.length > 0)
|
||||
{
|
||||
boolean xml = false;
|
||||
int i = 0;
|
||||
|
||||
if (args[0].startsWith("-x"))
|
||||
{
|
||||
if (args.length == 1)
|
||||
{
|
||||
usage();
|
||||
}
|
||||
|
||||
xml = true;
|
||||
i++;
|
||||
}
|
||||
|
||||
final StringBuffer cmdline = new StringBuffer();
|
||||
|
||||
for (; i < args.length; i++)
|
||||
{
|
||||
if (cmdline.length() != 0)
|
||||
{
|
||||
cmdline.append(' ');
|
||||
}
|
||||
|
||||
cmdline.append(args[i]);
|
||||
}
|
||||
|
||||
System.out.println(textToHTML(cmdline.toString(), xml));
|
||||
}
|
||||
else
|
||||
{
|
||||
usage();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a text string to HTML or XML entities.
|
||||
*
|
||||
* @param text The string to convert.
|
||||
* @param xml Convert the string to XML if set to true.
|
||||
*
|
||||
* @return The converted string.
|
||||
*/
|
||||
public static final String textToHTML(String text, boolean xml)
|
||||
{
|
||||
final StringBuffer html = new StringBuffer();
|
||||
|
||||
// Loop thru each characters of the text
|
||||
for (int i = 0; i < text.length(); i++)
|
||||
{
|
||||
// Convert character to HTML/XML
|
||||
html.append(charToHTML(text.charAt(i), xml));
|
||||
}
|
||||
|
||||
// Return HTML/XML string
|
||||
return html.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a text string to HTML or XML entities.
|
||||
*
|
||||
* @param text The string to convert.
|
||||
*
|
||||
* @return The converted string.
|
||||
*/
|
||||
public static final String textToHTML(String text)
|
||||
{
|
||||
return textToHTML(text, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a text string to XML entities.
|
||||
*
|
||||
* @param text The string to convert.
|
||||
*
|
||||
* @return The converted string.
|
||||
*/
|
||||
public static final String textToXML(String text)
|
||||
{
|
||||
return textToHTML(text, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints the usage and exits.
|
||||
*/
|
||||
private static final void usage()
|
||||
{
|
||||
System.err.println(USAGE);
|
||||
System.exit(1);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue