最近访客
文章详情
评论建议
常见问题

新建立了一个独立模型,可是突然发现模型列表中标题不能显示了,仔细分析发现并非完全不能显示,而是凡是带有中文的就不能显示。

然后一步一步分析,发现dede在显示独立模型文章列表时对独立模型的每一个字段都经过了ChannelUnit->MakeField方法的处理,原因是独立模型文章表中,凡是联动类型字段都保存的是数值,因此,需要将其转换成对应的名称,除此之外还进行了一些其他类型字段的处理。其中包括对于type是text的字段,那dedecms 会经过 HtmlReplace()方法进行处理。

function MakeField($fname, $fvalue, $addvalue=\'\') { //处理各种数据类型 $ftype = $this->ChannelFields[$fname][\'type\']; if($fvalue==\'\') { if($ftype != \'checkbox\') $fvalue = $this->ChannelFields[$fname][\'default\']; } if($ftype==\'text\') { $fvalue = HtmlReplace($fvalue); } ......

问题就出在HtmlReplace方法中。某些时候HtmlReplace的中文转换是有问题的。

HtmlReplace

(>=DedeCMS 5.5)

函数名:HtmlReplace

功能:去除html中不规则内容字符

参数:

$str=” 需要处理的字符串

$rptype=0 返回类型

$rptype = 0 表示仅替换 html标记

$rptype = 1 表示替换 html标记同时去除连续空白字符

$rptype = 2 表示替换 html标记同时去除所有空白字符

$rptype = -1 表示仅替换 html危险的标记

返回值:

格式化后的字符串

注:其实貌似HtmlReplace出现问题与否跟php的版本是有关系的,最新的php版本好像会出问题,但也有可能是配置的问题。

温馨提示:本文最后更新于2022/10/20 02:50:49。若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享

您可以通过搜索或浏览分类列表来找到您期望下载的资源。随后点击资源介绍页右侧的下载链接按钮,依据提示信息进行操作即可。

大部分资源可积分免费下载,为了维持网站的运行小部分资源须付费才能下载。

本站提供的下载资源均为网络搜集,仅供个人学习和交流使用。对于版权问题,请用户自行判断并承担相应责任。

评论 抢沙发

请登录后发表评论

    请登录后查看评论内容