主頁(yè) > 知識(shí)庫(kù) > 關(guān)于表格的正則表達(dá)式討論(表格)

關(guān)于表格的正則表達(dá)式討論(表格)

熱門標(biāo)簽:荊州智能電銷機(jī)器人 大學(xué)校門地圖標(biāo)注 銷售電銷機(jī)器人詐騙 廣西智能外呼系統(tǒng)多少錢 福建微碼電話機(jī)器人 平?jīng)龈叩碌貓D標(biāo)注商戶要收費(fèi)嗎 提高電話機(jī)器人接通率 外呼系統(tǒng)api對(duì)接 地圖標(biāo)注與公司業(yè)務(wù)關(guān)系
看過(guò)許多UBB代碼,包括JS,ASP,JSP的,一直沒(méi)發(fā)現(xiàn)表格的UBB,雖然可以直接用HTML模式實(shí)現(xiàn)相同表格功能,但對(duì)于某些開放的站點(diǎn)來(lái)說(shuō)開放HTML模式終究是不合適的,故一直想實(shí)現(xiàn)表格的UBB。

     我的設(shè)想是在HTML編輯器(HTML,F(xiàn)RONTPAGE,DW)中作好表格,把替換為[,>替換為],直接復(fù)制HTML并提交發(fā)布。

     可惜經(jīng)過(guò)實(shí)踐,發(fā)現(xiàn)很難。因?yàn)楸砀竦腍TML標(biāo)記和其他元素的HTML標(biāo)記差別很明顯,主要原因TD,TR,特別是TABLE都能嵌套。其實(shí)我遇到的關(guān)鍵問(wèn)題在于我不會(huì)寫 不包含某個(gè)單詞或語(yǔ)句(非單字符)的正則 ,譬如下面標(biāo)記


QUOTE:
[TABLE][TR]  [TD]哈哈[TABLE][TR][TD]的[/TD][/TR][/TABLE][/TD][/TR][/TABLE]
你要匹配正確[TD]*[/TD]你就得必須保證*不包括[TABLE][TR][TD]等,注意不能用[^\[]*?啊,因?yàn)橛盟麩o(wú)法匹配正確的[/TD]的,所以問(wèn)題在與我怎么保證這個(gè)*不包括[TABLE][TR][TD]呢,(我不會(huì)寫)。所以我:

退一步,先用\[td[^\]]*?\][^\[]*?\[table找到最后一個(gè)(其實(shí)最內(nèi)層的)表格,然后把最內(nèi)層的表格轉(zhuǎn)為HTML標(biāo)記,然后循環(huán)從頭開始再來(lái)一次,一直到所有標(biāo)記被替換。這個(gè)理論上是可以實(shí)現(xiàn)的。我用JSP正在實(shí)驗(yàn),需要時(shí)間,希望有興趣朋友用ASP,PHP實(shí)驗(yàn)一下。

因?yàn)槲壹庇?,所以我又退了一步,就是直接查找][TABLE]等標(biāo)記然后替換,有4個(gè)表達(dá)式,[TABLE][TR][TD]、[/TD][/TR][TR][TD]、[/TD][TD]、[/TD][/TR][TABLE] ,大家知道,UBB需要把/R/N替換成BR>的,于是我用上面作出的正則查找并替換掉所有[TABLE]和[TR]和[TD]和[/TD]和[/TR]和[/TABLE]中的換行。其實(shí)這個(gè)表達(dá)式比下面表達(dá)式就多了這個(gè)替換換行功能,其不足之處是很明顯的,就是不能完善的剔除非配套的標(biāo)記,必須保證所有TABLE標(biāo)記是正確配套的(有TBODY的再改改就是了),否則亂套???nbsp;這一步我實(shí)踐還不錯(cuò)。

再退一步,其實(shí)沒(méi)法退了,就是直接單個(gè)查找替換[TABLE]等標(biāo)記,這是最苯的方法了,也是效果最不好的,因?yàn)榇蠹抑涝贖TML編輯器里的表格標(biāo)記中好多換行的,而UBB是為換行轉(zhuǎn)為BR>的,所以這個(gè)方法實(shí)現(xiàn)了會(huì)發(fā)現(xiàn)好多空行的,而且這個(gè)方法和上面那一步一個(gè)共同缺點(diǎn)就是更不能剔除非配套標(biāo)記。


附我寫的退一步后的正則:(我用JSP)


QUOTE:
\\[(table)([^\\[]*?)\\][^\\[]*?\\[tr\\][^\\[]*?\\[td([^\\[]*)\\]|\\[\\/(td)\\][^\\[]*?\\[\\/tr\\][^\\[]*?\\[tr\\][^\\[]*?\\[td([^\\[]*)\\]|\\[\\/(td)\\][^\\[]*?\\[td([^\\[]*)\\]|\\[\\/(td)\\][^\\[]*?\\[\\/tr\\][^\\[]*?\\[\\/table\\]
我想如果是管理員發(fā)布信息什么的,能保證表格標(biāo)記的正確的話用這個(gè)還可以的。其實(shí)如果有人想搗亂的話,再嚴(yán)謹(jǐn)?shù)腢BB也不能防止的啊。
歡迎有興趣者來(lái)此討論,提出更好建議,打造最好最全的UBB。

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]

標(biāo)簽:邯鄲 內(nèi)江 黔東 婁底 衡陽(yáng) 樂(lè)山 德陽(yáng) 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于表格的正則表達(dá)式討論(表格)》,本文關(guān)鍵詞  關(guān)于,表格,的,正則,表達(dá)式,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《關(guān)于表格的正則表達(dá)式討論(表格)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于關(guān)于表格的正則表達(dá)式討論(表格)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章