dedecms织梦系统常用问题处理方法收集
2024-07-12 08:29:54
供稿:网友
1、织梦dedecms系统安装在子目录下,会员信息链接不对的解决法。 在网上搜索了很多方法,都得不到解决,其中一个解决方法是:到标签模板里找到memberlist.lib.php 在$row['spaceurl'] = $GLOBALS['cfg_basehost'].'/member/index.php?uid='.$row['userid'];红色处做修改,在'/member前面加上子目录名,如home,这样无法生成主页,方法弃之,第二个方法是将['cfg_basehost']修改成[cfg_cmspath],会员信息链接是对了,自动加上了根目录,但打开首页是乱码,经过研究系统的目录生成方法,大胆尝试,将站点根网址了就是cfg_basehost变更的参数在根网址后面加上根目录,问题得到解决,测试新上传图片,也是正常的,自动在图片地址前加上根目录。此方法适用于5.6GBK版,其它版本没有测试。 2、后台菜单丢失找回:是缓存文件的问题,删掉data/tplcache 目录,让它自己重新建一个就好了 1通用过滤标签 {dede:trim}<span(.*)>{/dede:trim} {dede:trim}</span>{/dede:trim} {dede:trim}<div(.*)>{/dede:trim} {dede:trim}</div>{/dede:trim} {dede:trim}<li>{/dede:trim} {dede:trim}</li>{/dede:trim} {dede:trim}<ul>{/dede:trim} {dede:trim}</ul>{/dede:trim} {dede:trim}<font(.*)>{/dede:trim} {dede:trim}</font>{/dede:trim} {dede:trim}<table(.*)>{/dede:trim} {dede:trim}</table>{/dede:trim} {dede:trim}<tbody(.*)>{/dede:trim} {dede:trim}</tbody>{/dede:trim} {dede:trim}<tr(.*)>{/dede:trim} {dede:trim}</tr>{/dede:trim} {dede:trim}<td(.*)>{/dede:trim} {dede:trim}</td>{/dede:trim} {dede:trim}<a(.*)>{/dede:trim} {dede:trim}</a>{/dede:trim} {dede:trim}<iframe(.*)</iframe>{/dede:trim} {dede:trim}<style(.*)</style>{/dede:trim} {dede:trim}<script(.*)</script>{/dede:trim} {dede:trim}<option(.*)</option>{/dede:trim} {dede:trim}<select(.*)</select>{/dede:trim} 2 过滤掉视频 {dede:trim}<embed(.*)>{/dede:trim} {dede:trim}</embed>{/dede:trim} {dede:trim}<param(.*)</param>{/dede:trim} {dede:trim}<object(.*)</object>{/dede:trim} 3.自定义处理接口。就是PHP代码。只不过 “ @ me 表示当前标记值和最终结果“@ body表示原始网页”“ @ litpic 缩略图”,按照PHP的写法的就OK了。 4、DedeCMS采集规则二:过滤、替换、技巧 1.采集去除链接 [Copy to clipboard]CODE: {dede:trim}]*)>([^<]*){/dede:trim} -------------------------------- 让field:title 标题突破30这个长度,修改代码的方法 找到./include/inc_arcpart_view.php 行291 : if($titlelen=="") $titlelen = 30; 修改为 if($titlelen=="") $titlelen = 60; 就可以了,然后,你可以这样调用了 {dede:channelArtlist typeid='0' col=1 tablewidth='100%'} {dede:arclist row="10"} [field:title function="cn_substr('@me',38)" /] {/dede:arclist} {/dede:channelArtlist} 把这个延伸一下:关于inc_arcpart_view.php function GetArcList($typeid=0,$row=10,$col=1,$titlelen=30,$infolen=160, $imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$keyword="", $innertext="",$tablewidth="100",$arcid=0,$idlist="") 这里的参数都可以更改你实际需要的模板元素尺寸大小. 5. 采集过虑中去掉链接保留文字的方法! {dede:trim}<a([^>]*)>{/dede:trim} {dede:trim}</a>{/dede:trim} dedecms 带超连接关键字 如何去掉 全部去 {dede:trim}^<a*'>*</a>${/dede:trim} 注:如果需要将采集文章中的某些文字替换成自己的文字的话需要使用 {dede:trim replace="你的文字"}需要替换的文字{/dede:trim} 6. 过滤div {dede:trim}]*)>{/dede:trim} {dede:trim} {/dede:trim} 7 过滤js {dede:trim}]*)>([^<]*){/dede:trim} 8 过滤未知变量字符 {dede:trim}固定(.*)固定{/dede:trim} 比如:{dede:trim}<STRONG>相关新闻(.*)<font color="#F5FDFF">来源:考试大{/dede:trim} 就可以过滤掉相关新闻后面的内容 9 .dede万能过滤代码 以下是常用的正则表达式标签 {dede:trim}<tbody(.*)>{/dede:trim} {dede:trim}</tbody>{/dede:trim} {dede:trim}<table(.*)>{/dede:trim} {dede:trim}</table>{/dede:trim} {dede:trim}<tr(.*)>{/dede:trim} {dede:trim}</tr>{/dede:trim} {dede:trim}<td(.*)>{/dede:trim} {dede:trim}</td>{/dede:trim} {dede:trim}<font(.*)>{/dede:trim} {dede:trim}</font>{/dede:trim} {dede:trim}<a(.*)>{/dede:trim} {dede:trim}</a>{/dede:trim} {dede:trim}<param(.*)>{/dede:trim} {dede:trim}<embed(.*)</embed>{/dede:trim} {dede:trim}<object(.*)</object>{/dede:trim} {dede:trim}<iframe(.*)</iframe>{/dede:trim} {dede:trim}<form(.*)</form>{/dede:trim} {dede:trim}<input(.*)>{/dede:trim} {dede:trim}<scrīpt(.*)</scrīpt>{/dede:trim} {dede:trim}<style(.*)</style>{/dede:trim} {dede:trim}<!--(.*)-->{/dede:trim} 以下为不常用的正则表达式标签 {dede:trim}<div(.*)>{/dede:trim} {dede:trim}</div>{/dede:trim} {dede:trim}<center(.*)>{/dede:trim} {dede:trim}</center>{/dede:trim} {dede:trim}<p(.*)>{/dede:trim} {dede:trim}</p>{/dede:trim} {dede:trim}<span(.*)>{dede:trim} {dede:trim}</span>{dede:trim} {dede:trim}<img(.*)>{/dede:trim} 10.织梦标题不全,鼠标指向显示全部的代码: {dede:arclist titlelen='100'} [field:title function=' ( strlen("@me")>40 ? cn_substr("@me",40): "@me" ) '/] {/dede:arclist} 6.dede/inc/inc_archives_functions.php第100行(flash频道远程flash本地化的BUG) $cfg_uploaddir = $GLOBALS['media_dir']; 修改成 $cfg_uploaddir = $GLOBALS['cfg_other_medias']; 11.发布时间,来源,作者可以通过@me函数实现,如:在自定义处理接口:处输入 @me = "www.22875.net·【时尚女性】" 就表示来源为“www.22875.net·【时尚女性】” 12.内容的替换:在所采集的文章内容中有多媒体,使用的是相对路径,采集的时候又不想下载,最好的办法就是将地址替换成媒体的实际地址。可以这样实现,在文章内容规则部分的自定义处理接口:处输入@me=str_replace('src="str1','src="str2',@me); 13 dedecms 带超连接关键字 如何去掉 全部去 {dede:trim}^<a*'>*</a>${/dede:trim} 应用示例二:来源作者中连接的过滤 在采集文章的时候,有的系统里面作者或者来源处都有连接,直接采集的话将连接采集回来了,然后由于这两个字段有限制,通常会造成需要采集的内容没有采集回来,所以需要在过滤处添加下面正则过滤 {dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim} 应用示例一:标题中空格的过滤 经常在采集文章的时候,标题文字里面有空格,采回来后应用很是麻烦,所以需要在过滤处添加下面正则过滤 {dede:trim} {/dede:trim} 应用示例二:来源作者中连接的过滤 在采集文章的时候,有的系统里面作者或者来源处都有连接,直接采集的话将连接采集回来了,然后由于这两个字段有限制,通常会造成需要采集的内容没有采集回来,所以需要在过滤处添加下面正则过滤 {dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim} 应用示例三:文章内容中连接以及其他广告代码的过滤 这个就不用说了,当需要对所有东西过滤的时候,直接用上面所有的代码过滤就可以,但是实际应用中,我们只需要对连接、动画、调用等进行过滤。(这个需要按照对方内容里面具体含有什么代码来具体操作) 一般的只有链接,使用二中的代码进行过滤就可以了,但是实际上一般的网站现在都在内容里面加有广告等,所以采取下面的过滤正则就可以完成过滤: {dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim} {dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim} {dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim} {dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim} 应用示例四:过滤GG广告代码 其实这个就是在上面的内容过滤,但是很多论坛里的网友经常问这个,所以单独作为一个应用列出来: {dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim} DEDECMS 过滤规则 去掉超链接 保留文字图片 {dede:trim}<(|/)a([^>]*)>{/dede:trim} 10.采集的时候主动摘要是摘取采集网页代码中 <meta name="description" content="内容" /> 的“内容”,所以你设置>10是不行的,如果有些摘要<10怎么办,你设置条件“如果为空值”,但是一般不会是空值,只有采集前就设置条件,逼迫他取空值,然后再设置。 现在知道的就只有2个方法: 1. 采集完后履行SQL :update dede_archives set description="" 清空摘要再应用“主动摘要”功效 2.修正采集页面“摘要过滤内容”的默认值为{dede:trim replace=""}(.*){/dede:trim} 甘样样每天采集新的文章的时候就主动将摘要取了空值。再应用“主动摘要”功效,不用每采集一次就履行SQL 11.批量采集文章如何调换文章标题/描写/文章中的要害字 比如: 美元兑日元:亚洲市场可能吸收能力亚洲股市上班扬支撑 当采集后可以变成 USD/JPY:亚洲市场可能吸收能力亚洲股市上班扬支撑 {dede:trim replace="USD/JPY"}美元兑日元{/dede:trim}