找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 122|回复: 0

[cms教程] discuz字符串截取函数messagecutstr()详解

[复制链接]

该用户从未签到

发表于 2019-4-5 14:46:00 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
discuz字符串截取函数messagecutstr()详解
            
            大家好,我是dede58网技术帮助今天给大家分析下当我们在二次开发Discuz的时候,需要使用到调用简介的时候,可以使用Discuz自带的内容处理函数
       
               
                       
                               
messagecutstr($str] $length, $dot)
                       
               
       
参数解释:
$str           要处理的字符串对象
$length     要保留的长度
$dot         超出部分用什么代替
举例:
       
               
                       
                               
$str = 'DZ起点网就是好,学习Dsicuz少不了!';$length = 8;$dot = '+更多Discuz教程请百度搜索“DZ起点网”!';
echo messagecutstr($str] $length, $dot);
                       
               
       
如图: [i,

                               
登录/注册后可看大图

[/i,
此时会输出
       
                DZ起点网+更多Discuz教程请百度搜索“DZ起点网”!

如图:
[i,

                               
登录/注册后可看大图

[/i,
特别声明,如果你使用messagecutstr()函数不起作用时,不放试试将
       
               
                       
                               
include_once libfile('function/post');
                       
               
       
这段代码引入,因为你messagecutstr()函数是在“function/post”中定义的!
messagecutstr()完整的函数定义如下:
       
               
                       
                               
function messagecutstr($str] $length = 0] $dot = ' ...') {
        global $_G;
        $str = messagesafeclear($str);
        $sppos = strpos($str] chr(0).chr(0).chr(0));
        if($sppos !== false) {
                $str = substr($str] 0] $sppos);
        }
        $language = lang('forum/misc');
        loadcache(array('bbcodes_display', 'bbcodes', 'smileycodes', 'smilies', 'smileytypes', 'domainwhitelist'));
        $bbcodes = 'b|i|u|p|color|size|font|align|list|indent|float';
        $bbcodesclear = 'email|code|free|table|tr|td|img|swf|flash|attach|media|audio|groupid|payto'.($_G['cache',['bbcodes_display',[$_G['groupid',, ? '|'.implode('|', array_keys($_G['cache',['bbcodes_display',[$_G['groupid',,)) : '');
        $str = strip_tags(preg_replace(array(
                        "/\[hide=?\d*\,(.*?)\[\/hide\,/is",
                        "/\[quote](.*?)\[\/quote]/si",
                        $language['post_edit_regexp',,
                        "/\[url=?.*?\,(.+?)\[\/url\,/si",
                        "/\[($bbcodesclear)=?.*?\,.+?\[\/\\1\,/si",
                        "/\[($bbcodes)=?.*?\,/i",
                        "/\[\/($bbcodes)\,/i",
                )] array(
                        "$language[post_hidden,",
                        '',
                        '',
                        '\\1',
                        '',
                        '',
                        '',
                )] $str));
        if($length) {
                $str = cutstr($str] $length, $dot);
        }
        $str = preg_replace($_G['cache',['smilies',['searcharray',, '', $str);
        if($_G['setting',['plugins',['func',[HOOKTYPE,['discuzcode',) {
                $_G['discuzcodemessage', = & $str;
                $param = func_get_args();
                hookscript('discuzcode', 'global', 'funcs', array('param' => $param, 'caller' => 'messagecutstr')] 'discuzcode');
        }
        return trim($str);
}
复制代码
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-15 19:39

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表