技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

zblog如何避免pre标签内容发布后换行符<br>被转义成VBCrLf

作者:admin    时间:2015-12-30 23:15:40    浏览:

最近在zblog文章发布时pre的使用上遇到一点问题,那就是pre标签的内容在发布后换行符<br>会自动转义,即是把换行符“<br>”换成了“VBCrLf”,但是在内容编辑的时候,并没有把“VBCrLf”换成“<br>”,这样就导致pre里的内容不再换行,需再手动换行,这就给文章编辑带来很大的不便。

如何才能不让pre标签里的内容发布后转义呢?我研究了一下zblog的源码,发现可以通过修改源代码来实现要求。

打开文件

\function\c_system_event.asp

然后找到函数

Function PostArticle()

修改一下

Case "fckeditor"

里的代码,在代码

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

下面,添加如下代码:

    'pre回车键转义
    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回车键转义
    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
    ... ...

通过这样修改,文章发布后,pre标签里的内容换行符“<br>”就不会被转义成“VBCrLf”了。

标签: zblog  
相关文章
    • IT热文
    • 站长推荐