分类: 学习预览模式: 普通 | 列表
07-08
30

用JAVA实现UBB代码

      相信大家一定可以想到UBB代码的解析,其实就是将“[b][/b]”这样的格式转换成““”就可以了,但是怎么转换呢?答案是用正则表达式。利用上一期讲到的正则表达式类(sony.utils.Regex)中的eregi_replace替换方法,可以很轻松地做到。下面是一段示例。
  String s="[b]这是粗体[/b]";
  String result;
  result = Regex.eregi_replace("[b](.+?)[/b]","“$1“", s);
  System.out.println(result);
  //打印结果是:
  //“这是粗体“。
这么简单吗?是的,我们只需要将其它的UBB Tag作类似的替换就实现了UBB代码的解析了。
下面给出一个UBB类.

/***************************UbbCode.java****************************************/
import java.util.regex.Matcher; //导入所需要的类
import java.util.regex.Pattern;
public class UbbCode //类定义
{
private String source; //待转化的HTML代码字符串
private String ubbTags[]; //UBB标记数组
private String htmlTags[]; //HTML标记数组

//初始化,分别为UBB标记数组和HTML标记数组赋值
public UbbCode()
{
byte byte0 = 74;
source = new String();
ubbTags = new String[byte0];
htmlTags = new String[byte0];
ubbTags[0] = "[b]";
htmlTags[0] = "<b>";
ubbTags[1] = "[/b]";
htmlTags[1] = "</b>";
ubbTags[2] = "[i]";
htmlTags[2] = "<em>";
ubbTags[3] = "[/i]";
htmlTags[3] = "</em>";
ubbTags[4] = "[quote]";
htmlTags[4] = "<div style=\"border-style:dashed;background-color:#CCCCCC;border-width:thin;border-color:#999999\"><br><em>";
ubbTags[5] = "[/quote]";
htmlTags[5] = "</em><br><br></div>";
ubbTags[6] = "[/size]";

查看更多...

Tags: UBB

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 712
07-08
30

Java 如何截取图片

下面是我的一段代码,实现如何截取图片的:

   // 图片源
       private static final String SRC_FILE="org//zy//demo//jdk//base//image//car1.jpg";

      // 目标图片
       private static final String DEST_FILE="c://a.jpg";

查看更多...

Tags: 截图 截取

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1309
07-08
30

Ubb转Html的java版函数

 

package order.bean.ubb;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Util {
    public static String clearHtmlTag(String s, int much) {
        try {
            Matcher m = null;
            m = Pattern.compile("<([^>]*)>", Pattern.DOTALL).matcher(s);
            while (m.find()) {
                for (int i = 1; i <= m.groupCount(); i++) {
                    System.out.println("找到 = " + m.group());
                    s = s.replaceAll(m.group(), "");
                }
            }

查看更多...

Tags: Ubb转Html UBB

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1214
07-08
28

java.lang.ClassCastException: java.lang.String

String uid = (String)request.getSession().getAttribute("person_id");
怎么看这句话都是没错的,且是IDE自动生成出来的。但是因为JDK版本问题,可能会出现这样的错误。修改语句试试就好了:
String uid = request.getSession().getAttribute("person_id").toString();

查看更多...

Tags: JDK

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1318
07-08
26

数组,Array

数组
每一个数组都有一个属性.length,可以用于获取数组中元素的个数,例如,定义了如下一个数组, int[] in=new int[]{12,3,4},则in.length等于3。
学习到了3个有用的对于数组进行操作的method,一个是在java.lang.system类下的arraycopy方法,其函数原型如下public static void arraycopy(Object src,int srcPos,Object dest, int destPos, int length),各参数的含义从左至右如下,来源数组名,开始拷贝的位置,目的数组名,目的位置,拷贝的长度(元素个数),使用这个方法必须注意数组的越界问题,而且必须捕获该函数抛出的一个IndexOutOfBoundsException异常。另在java.util.Arrays 类下,有Arrays.sort(),和Arrays.binarySearch(数组名,查找元素),前者用于实现数组排序,后者用于在已经实现排序的数组中进行查找,二者都有多个重载。
   对于Arrays.sort()而言,如果要排序的数组中的元素是某个类的对象,则要求该类实现Comparable接口,该接口中仅有一个方法即public int compareTo(Object o),要求在子类中实现这个方法,注意它的返回值是一个int类型。
    以下是我自己写的一个.java程序,包含了以上我讲到的所有知识点,并另重写了toString()方法用于实现类对象的输出,作为一个复习。在jdk1.5下编译运行通过。import java.util.Arrays;
class Student implements Comparable
{
int num;
String name;

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 573
07-08
14

关于StringEscapeUtils介绍

StringEscapeUtils来做HTML的转化,介绍如下:

引用内容 引用内容
escapeHtml

public static String escapeHtml(String str)

Escapes the characters in a String using HTML entities.

For example:

查看更多...

分类:学习 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1090