久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

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

      看過(guò)許多UBB代碼,包括JS,ASP,JSP的,一直沒發(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í)沒法退了,就是直接單個(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需刷新才能執(zhí)行]
      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)