class tagslist
... public tagslist()
...public void add(string str)
...public string get(int index)
...//為了提高效率,只將其置為null
public boolean remove(string str)
...}
return false;
}public boolean remove(int index)
...return false;
}public int size()
...//擴充套件容量
public void ensurecapacity(int minsize)
...}
}
**
* 檢驗文字中的html標籤是否閉合,並提供簡單的修復功能
* @author liw
* @time 2007-6
*/public class tagschecker
... for (int i = 0; i < unclosedtags[1].size(); i++) ...
return true;
}public static string fix(string str)
...for (int i = unclosedtags[1].size() - 1; i > -1; i--) ...
}return fixed.tostring();
}private static tagslist getunclosedtags(string str)
...if (!flag) ...
// 從tags_bottom移除乙個閉合的標籤
if (!unclosedtags[1].remove(temp.tostring())) ...
temp.delete(0, temp.length()); // 清空temp
} else ...
// 已經讀取到標籤,跳過其他內容,如跳過id=test
while (i < str.length() && current != '>') ...}}
if (last != '/' && current == '>') // 判斷這種型別:unclosedtags[1].add(temp.tostring());
temp.delete(0, temp.length());}}
} else ...
}return unclosedtags;
}}
public class test
...
system.out.println();
system.out.println("--效率測試--");
system.out.println("文字長度:" + str1.length());
long t1 = system.currenttimemillis();
boolean closed = tagschecker.check(str1);
long t2 = system.currenttimemillis();
string fixedstr = tagschecker.fix(str1);
long t3 = system.currenttimemillis();
system.out.println("檢查用時:" + (t2 - t1) + " 毫秒 結果:" + closed);
system.out.println("修復用時:" + (t3 - t2) + " 毫秒");
}}
下面是在我機器上的測試結果:
配置:cpu p4-m1.8ghz 記憶體 768m
--功能測試--
檢查文字 ttssaa" id='3' other=''>sff
結果:false
檢查文字 ttss
">fds
結果:true
修復文字 ttssaa" id='3' other=''>sff
結果:ttssaa" id='3' other=''>sff
--效率測試 --
文字長度:62464
檢查用時:101 毫秒 結果:false
修復用時:110 毫秒
php檢測html標籤是否閉合 沒有則修復
本文為大家帶來一篇 php檢測html標籤是否閉合 沒有則修復。希望對您的學習研究php有幫助,具體參考描述如下 html標籤閉合檢測與修復,說的有點大 並沒有考慮的很完整,沒有使用正規表示式,適用於html檔案中只有開始標籤沒有結束標籤,是有結束標籤沒有開始標籤的情況。標籤閉合的位置需要根據需求調...
php檢測html標籤是否閉合 沒有則修復
本文為大家帶來一篇 php檢測html標籤是否閉合 沒有則修復。希望對您的學習研究php有幫助,具體參考描述如下 html標籤閉合檢測與修復,說的有點大 並沒有考慮的很完整,沒有使用正規表示式,適用於html檔案中只有開始標籤沒有結束標籤,是有結束標籤沒有開始標籤的情況。標籤閉合的位置需要根據需求調...
OpenCV 閉合輪廓檢測
這個好像是骨頭什麼的,但是要求輪廓閉合,於是對進行一下膨脹操作,再次檢測輪廓就好了。a closed contour.cpp 定義控制台應用程式的入口點。include stdafx.h findrotation angle.cpp 定義控制台應用程式的入口點。findcontours.cpp 定義...