dedecms 栏目标题分字母大小写的吗
我遇到过查看网页元素是这样的<font color="“red“">管理员回复:大厦大厦大厦大厦大厦大厦</font>也就是说red被套了两个双引号,查看源文件却没发现问题,在浏览器调试模式下去掉一个双引号就变回红色了,不仅如此,你把red改成任何颜色都会有被绿色叠加的影子,我猜测是guestbook-adminhtm提交到guestbookphp之间出了问题,旧版的织梦不知道有没有这种情况,更多资料可在dede0com中找到
首先[field:title/]就是指标题了,加上runphp='yes'就是执行里面自写的方法。你链接里面的代码有点小错误,应该这样写才是你要的。[field:title runphp='yes']if(strlen("@me")>34)@me=cn_substr("@me",34)"";else @me=@me;[/field:title]
里面的@me就是标题的值,if(strlen("@me")>34)就是判断标题是不是大于34字符(两个字符等于一个汉字),如果判断对,就截取@me 34个字符,然后再加上“”赋给原来的@me。如果没大于34字符的话就还是原来的值。
dedecms织梦网站搜索不分大小写的问题
测试版本为织梦V57版本,编码为GBK,在使用其搜索模块时,出现了关键字不认大写字母的情况,如下图所示,例如关键字为"Abc"
追踪其源码在"/include/helpers/filterhelperphp"中第133行找到其函数"FilterSearch"
if ( ! function_exists('FilterSearch')){
function FilterSearch($keyword) {
global $cfg_soft_lang;
if($cfg_soft_lang=='utf-8') {
$keyword = preg_replace("/["$><']/", '', $keyword);
if($keyword != stripslashes($keyword)) {
return ''; }
else {
return $keyword; }
} else
{ $restr = '';
for($i=0;isset($keyword[$i]);$i++)
{ if(ord($keyword[$i]) > 0x80) {
if(isset($keyword[$i+1]) && ord($keyword[$i+1]) > 0x40) {
$restr = $keyword[$i]$keyword[$i+1]; $i++; } else
{ $restr = ' '; }
} else
{if(preg_match("/[^0-9a-z@#]/",$keyword[$i]))
----------将这里改为"if(preg_match("/[^0-9a-zA-Z@#]/",$keyword[$i]))"即可
{
$restr = ' '; }
else { $restr = $keyword[$i]; } } } } return $restr;
OK了,问题解决了!
0条评论