這是一個(gè)模仿html,xml語(yǔ)言從文本轉(zhuǎn)化為對(duì)象這一過(guò)程的模型,并降低了一些如tagName不能修改,包圍標(biāo)記只能是“<”、“>”等的限制,盡可能的擴(kuò)大對(duì)文本的自由處理。
通過(guò)這個(gè)模型也就可以制作出如 html 和 ubb 的雙向轉(zhuǎn)換程序,Internet Explorer中顯示XML文檔一樣有hightLight和折疊功能的視圖等一系列的關(guān)于標(biāo)記語(yǔ)言的實(shí)例程序。
標(biāo)記語(yǔ)言處理模型
[Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運(yùn)行]
這個(gè)程序的處理方法大致是通過(guò)正則表達(dá)式的拼接(getAbsReg 和 getRelaStr 這兩個(gè)自定義函數(shù)),從 字符串 → 屬性 → 對(duì)象 → 節(jié)點(diǎn) 一級(jí)級(jí)的拼接出他們的正則表達(dá)式,然后再?gòu)墓?jié)點(diǎn)開(kāi)始反向的從文本流中提取對(duì)應(yīng)的內(nèi)容,再將他們?cè)O(shè)置到 htmlElement 類 的相應(yīng)的屬性上,也就是看到了 [object object]。
最后實(shí)例程序通過(guò)設(shè)置和使用 htmlElement 中提供屬性和方法,將文本的每一個(gè)細(xì)節(jié)修改到最終所需要的狀態(tài),最后使用getOutetHTML或是getInnerHTML方法得到處理之后的文本流。
另外,用這種方法處理還可以達(dá)到標(biāo)記自動(dòng)補(bǔ)全的功能。
出處:藍(lán)色理想
責(zé)任編輯:LeXRus
◎進(jìn)入論壇網(wǎng)頁(yè)制作、網(wǎng)站綜合版塊參加討論
|