技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營

贊助商

分類目錄

贊助商

最新文章

搜索

zblog如何避免pre標(biāo)簽內(nèi)容發(fā)布后換行符<br>被轉(zhuǎn)義成VBCrLf

作者:admin    時間:2015-12-30 23:15:40    瀏覽:

最近在zblog文章發(fā)布時pre的使用上遇到一點問題,那就是pre標(biāo)簽的內(nèi)容在發(fā)布后換行符<br>會自動轉(zhuǎn)義,即是把換行符“<br>”換成了“VBCrLf”,但是在內(nèi)容編輯的時候,并沒有把“VBCrLf”換成“<br>”,這樣就導(dǎo)致pre里的內(nèi)容不再換行,需再手動換行,這就給文章編輯帶來很大的不便。

如何才能不讓pre標(biāo)簽里的內(nèi)容發(fā)布后轉(zhuǎn)義呢?我研究了一下zblog的源碼,發(fā)現(xiàn)可以通過修改源代碼來實現(xiàn)要求。

打開文件

\function\c_system_event.asp

然后找到函數(shù)

Function PostArticle()

修改一下

Case "fckeditor"

里的代碼,在代碼

objArticle.Content=Request.Form("txaContent")

下面,添加如下代碼:

    'pre回車鍵轉(zhuǎn)義
    Dim myRe, mymatch, mymatchs, myhtm 
    myhtm = "" 
    set myRe = new RegExp  
    myre.IgnoreCase =True   
    myre.Global = True   
    myre.Pattern = "<pre([^>]*?)>([\s\S]*?)</pre>" 
    Set mymatchs = myre.Execute(objArticle.Content)  
    for each mymatch in mymatchs 
         myhtm = replace(mymatch.SubMatches(1),vbCrLf,"<br>")
         myhtm = replace(myhtm,vbLf,"<br>")
         objArticle.Content=Replace(objArticle.Content,mymatch.SubMatches(1),myhtm)
    next  
    set mymatchs = nothing

最終代碼如下:

'/////////////////////////////////////////////////////////////////////////////////////////
'*********************************************************
' 目的:    Post Article
'*********************************************************
Function PostArticle()

... ...

Case "fckeditor"
    objArticle.Content=Request.Form("txaContent")

    'pre回車鍵轉(zhuǎn)義
    Dim myRe, mymatch, mymatchs, myhtm 
    myhtm = "" 
    set myRe = new RegExp  
    myre.IgnoreCase =True   
    myre.Global = True   
    myre.Pattern = "<pre([^>]*?)>([\s\S]*?)</pre>" 
    Set mymatchs = myre.Execute(objArticle.Content)  
    for each mymatch in mymatchs 
         myhtm = replace(mymatch.SubMatches(1),vbCrLf,"<br>")
         myhtm = replace(myhtm,vbLf,"<br>")
         objArticle.Content=Replace(objArticle.Content,mymatch.SubMatches(1),myhtm)
    next  
    set mymatchs = nothing

    If objArticle.Intro="" Then
        s=objArticle.Content
    ... ...

通過這樣修改,文章發(fā)布后,pre標(biāo)簽里的內(nèi)容換行符“<br>”就不會被轉(zhuǎn)義成“VBCrLf”了。

標(biāo)簽: zblog  
相關(guān)文章
    x
    • 站長推薦
    /* 左側(cè)顯示文章內(nèi)容目錄 */