您的位置:首页 > 其它

个小型cms标签解析方法

2009-07-17 10:14 423 查看
String templeHtml = "<ul>{Tag:type=体育&pagesize=5}</ul><ul>{Tag:type=娱乐&pagesize=5}</ul>";
String htmlCode = "";
String beginTag = "{Tag:";
String endTag = "}";
boolean isFind = false;
int myPos = 0;
int myPosE = 0;
int  StartPos = 0;            //'在循环中记录当前已经处理到的位置
String tagName = "";

while (!isFind) {
myPos = templeHtml.indexOf(beginTag,StartPos);
if (myPos ==-1 ) {
htmlCode += templeHtml.substring(StartPos);
isFind = true;
} else {
//如果找到了标记起点
//先将这个标记起点和上一个标记终点之间的代码保存到HtmlCode
htmlCode += templeHtml.substring(StartPos,myPos);
myPosE = templeHtml.indexOf(endTag,myPos);
tagName = templeHtml.substring(myPos+5, myPosE);
// tagName = templeHtml.substring(myPos, myPosE+1);
String[] arrayTagName = tagName.split("&");
String context = "";
for (int i = 0; i < arrayTagName.length;i++) {
String[] arrayArgs = arrayTagName[i].split("=");
String argsName = arrayArgs[0];  //参数名称
String argsValue = arrayArgs[1]; //参数值
if (argsName.equals("type")) {
if (argsValue.equals("体育"))
context = "<li>李宁冠军</li>";
else
context = "<li>刘德华演唱会</li>";

}
if (argsName.equals("pagesize")) {
for ( int k = 0; k < Integer.valueOf(argsValue); k++) {
htmlCode += context;
}
}
}

String ss = templeHtml.substring(myPosE);
StartPos = (myPosE+1);
}
System.out.println("---------->"+htmlCode);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: