|
|
翻坛子的时候发现,很多坛友在采集数据发表到Dvbbs上时会出现如下错误:
脛煤脤谩陆禄碌脛脢媒戮脻虏禄潞脧路篓(卤脴脨毛脤谩陆禄XHTML赂帽脢陆)
该字段含义为:
您提交的数据不合法(必须提交XHTML格式).
首先检查目标站编码和模块编码.无问题的话.看下面.
解决办法有三:
1>请清空IE的临时文件.(很多朋友是这种情况)
2>请检查提交的代码是否符合XHTML格式,在采集时便可过滤一下.
3>请修改论坛根目录下的savepost文件.注释掉XHTML格式限制,同时也可注释掉发贴权限.
仅当抛砖引玉,期待更完美的解决办法.:)
模块以及说明:
Dvbbs模块请使用vus520超版的DVbbs 8.1.1Web发布模块 http://bbs.locoy.com/spider-22401-1-1.html
由于本人模块非dvbbs的默认模板,可能大家在使用过程中会有一些问题.vus520超版的模块对大多数坛友来说是非常适用的.
详细解释:
1> 打开IE → 工具 → Internet选项 → 删除Internet临时文件
2> XHTML验证错误可能性有很多,如未经编码的与符号 ("&") 示例: <a href="foo.cgi?chapter=1§ion=2">...</a>.具体请利用搜索XHTML相关错误,然后使用火车头的替换功能替换掉.
3> Dvbbs论坛的根目录下有一个Savepost.asp的文件,以及./images/post/ 目录下有DhtmlEdit1.js和reply.js 这两个文件. 请用FTP工具下载到本地,并做好原文件的备份.
Savepost.asp文件修改如下:
用记事本打开后,找到 Public Sub Save_CheckData() ,把下面的Chk_Post()的注释掉,就是在前面打一个',注释后就是'Chk_Post()
用于解决Dvbbs采集后发表文章确认权限的问题.
然后找到 Rem 老迷增加xhtml格式限制 , 把下面的这段代码注释掉.(个别版本论坛可能会有不同,但大同小异)
If XMLPOST.loadxml("<xhtml>" & replace(Content,"&","&") &"</xhtml>") 'Then
Content=replace(Mid(XMLPOST.documentElement.xml,8,Len(XMLPOST.documentElement.xml)-15),"&","&")
Else
parameter="showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>您提交的数据不合法(必须提交XHTML格式)&action=OtherErr&autoreload=1"
Response.redirect parameter
End If
确实该好后保存,将这个Savepost.asp改名,如cj_savepost.asp 然后上传到服务器里.然后更改Dvbbs模块中文章发表参数下的发表地址后缀.
如:
/SavePost.asp?Action=snew&boardid=[分类ID]
更改为:
/cj_SavePost.asp?Action=snew&boardid=[分类ID]
然后将上文提到的./images/post/ 目录下的 DhtmlEdit1.js和reply.js 这两个文件.用记事本打开,找到 Dvbbs_CopyData ,并将下面的参数
document.getElementById(hiddenid).value = OSWEBXHTML.GetXHTML(IframeID.document.body);
更改为:
document.getElementById(hiddenid).value = IframeID.document.body.innerHTML
修改完毕后保存,然后上传到服务器覆盖原文件(记得事先备份).
最后清空一下采集任务的本地采集数据和地址库,重新采集一下.看看,是不是成功了.:)
但是在写规则的时要记得把一些额外的标签屏蔽,不然帖子发出来后是查看不了的,标记为不安全.
暂时就想到这么多,如有遗漏请朋友们补充.
[ 本帖最后由 沦陷今生 于 2008-1-12 23:51 编辑 ] |
评分
-
2
查看全部评分
-
|