加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

discuz字符串截取函数messagecutstr()分析

发布时间:2021-11-30 17:30:47 所属栏目:PHP教程 来源:互联网
导读:大家好,我是dede58网技术帮助今天给大家分析下当我们在二次开发Discuz的时候,需要使用到调用简介的时候,可以使用Discuz自带的内容处理函数 1 messagecutstr($str, $length, $dot) 参数解释: $str 要处理的字符串对象 $length 要保留的长度 $dot 超出部分
大家好,我是dede58网技术帮助今天给大家分析下当我们在二次开发Discuz的时候,需要使用到调用简介的时候,可以使用Discuz自带的内容处理函数
1
messagecutstr($str, $length, $dot)
 
参数解释:
$str           要处理的字符串对象
$length     要保留的长度
$dot         超出部分用什么代替
 
举例:
1
<div>$str = 'DZ起点网就是好,学习Dsicuz少不了!';</div><div>$length = 8;</div><div>$dot = '+更多Discuz教程请百度搜索“DZ起点网”!';</div><div>
2
</div><div>echo messagecutstr($str, $length, $dot);</div>
 
如图:  
此时会输出
DZ起点网+更多Discuz教程请百度搜索“DZ起点网”!
如图:
 
 
 
特别声明,如果你使用messagecutstr()函数不起作用时,不放试试将
1
include_once libfile('function/post');
这段代码引入,因为你messagecutstr()函数是在“function/post”中定义的!
 
messagecutstr()完整的函数定义如下:
01
function messagecutstr($str, $length = 0, $dot = ' ...') {
02
        global $_G;
03
        $str = messagesafeclear($str);
04
        $sppos = strpos($str, chr(0).chr(0).chr(0));
05
        if($sppos !== false) {
06
                $str = substr($str, 0, $sppos);
07
        }
08
        $language = lang('forum/misc');
09
        loadcache(array('bbcodes_display', 'bbcodes', 'smileycodes', 'smilies', 'smileytypes', 'domainwhitelist'));
10
        $bbcodes = 'b|i|u|p|color|size|font|align|list|indent|float';
11
        $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']])) : '');
12
        $str = strip_tags(preg_replace(array(
13
                        "/[hide=?d*](.*?)[/hide]/is",
14
                        "/[quote](.*?)[/quote]/si",
15
                        $language['post_edit_regexp'],
16
                        "/[url=?.*?](.+?)[/url]/si",
17
                        "/[($bbcodesclear)=?.*?].+?[/1]/si",
18
                        "/[($bbcodes)=?.*?]/i",
19
                        "/[/($bbcodes)]/i",
20
                ), array(
21
                        "[b]$language[post_hidden][/b]",
22
                        '',
23
                        '',
24
                        '1',
25
                        '',
26
                        '',
27
                        '',
28
                ), $str));
29
        if($length) {
30
                $str = cutstr($str, $length, $dot);
31
        }
32
        $str = preg_replace($_G['cache']['smilies']['searcharray'], '', $str);
33
        if($_G['setting']['plugins']['func'][HOOKTYPE]['discuzcode']) {
34
                $_G['discuzcodemessage'] = & $str;
35
                $param = func_get_args();
36
                hookscript('discuzcode', 'global', 'funcs', array('param' => $param, 'caller' => 'messagecutstr'), 'discuzcode');
37
        }
38
        return trim($str);
39
}
40
复制代码
 

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读