标签形式卡通图文 for 4.00 by lu5266

上一篇 / 下一篇  2006-03-13 14:23:02

查看( 5496 ) / 评论( 39 )


QUOTE:
我是2.2那里一直转了N次,转到4.0来了


QUOTE:
名称:  标签形式卡通图文 for 4.00 by lu5266
演示:  http://www.5466.ik8.com/           
功能: 这个功能应该还是不错的,首先是美化,特别是在水区,文学区,心情区拉,用了简直是cool呆了,还可以防复制呢
版本: 4.00
作者: 2.2的原始代码by  DyNE   修改为标签 和 for 4.00 by lu5266
难易: 简单
支持: http://www.5466.ik8.com/
文件:  include/discuzcode.inc.php (论坛核心文件,不得以才修改,记得一定要先备份)
修改方法:

1.查找:

        'pcodecount' => -1,
        'codecount' => 0,
下面加上:

        'pcartooncount' => -1,//add by lu5266
        'cartoonhtml'=>'',//add by lu5266
2.查找:

        $discuzcodes['codecount']++;
        return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";
}
下面加上:

//lu5266 and  DyNE add this function bbcode cartoon start
function addspacing($string, $spacing) {
    $length = strlen($string);
    for($i = 0; $i < $length; $i++) {
        if(ord($string[$i]) > 127) {
            $newstring .= $string[$i].$string[$i + 1].$spacing;
            $i++;
        } else {
            $newstring .= $string[$i];
        }
    }
    return $newstring;
}

require_once DISCUZ_ROOT.'./include/cartoon.inc.php';
function cartoondisp($cartoon) {
        global $discuzcodes,$cartoons;
        $discuzcodes['pcartooncount']++;
        $cartoon = addspacing($cartoon,'`');  
        $cartoon = htmlspecialchars(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $cartoon)));
        $cartoon=preg_replace("/([A-Z0-9])/s", "<img src=\"images/Cartoon_Char/\\1.gif\" align=\"absmiddle\" border=\"0\">",$cartoon);     
    foreach($cartoons as $char) {
            $cartoon=str_replace($char['code'], "<img src=\"images/Cartoon_Char/$char[url]\" align=\"absmiddle\" border=\"0\">",$cartoon);
    }
    $discuzcodes['cartoonhtml'][$discuzcodes['pcartooncount']]=  str_replace('`', '', $cartoon); ;        
        return "[\tDISCUZ_CARTOON_$discuzcodes[pcartooncount]\t]";
}
//lu5266 and  DyNE add this function bbcode cartoon end
3:查找:

$message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
下面加上:(A B选择其一)
方法A:

$message = preg_replace("/\s*\[cartoon\](.+?)\[\/cartoon\]\s*/ies", "cartoondisp('\\1')", $message);//add bylu5266
方法B:这个可以定义使用的版块,在 1 2 3那里修改,记得多个版快,号隔开

                //add bylu5266
                global $fid;
                if(in_array($fid,array(1,2,3))){  //1 2 3 use fid
                   $message = preg_replace("/\s*\[cartoon\](.+?)\[\/cartoon\]\s*/ies", "cartoondisp('\\1')", $message);
                }
                //add bylu5266
4:查找:

        for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
                $message = str_replace("[\tDISCUZ_CODE_$i\t]", $discuzcodes['codehtml'][$i], $message);
        }
下面加上:

        //lu5266 and  DyNE add this function bbcode cartoon start
        for($i = 0; $i <= $discuzcodes['pcartooncount']; $i++) {
                $message = str_replace("[\tDISCUZ_CARTOON_$i\t]", $discuzcodes['cartoonhtml'][$i], $message);
        }
        //lu5266 and  DyNE add this function bbcode cartoon end
文件修改完毕。

5。选做的(增加bbcode按纽)

1:在include/bbcode.js的最后加上

function cartoon() {
        if (helpmode){
                alert('插入文字秀特效文字\n\\\n给标签所包围的文本用漂亮的图片代替。\n例如:[cartoon]我爱你 I LOVE YOU!  [/cartoon]');
        }
         else if (document.selection && document.selection.type == "Text") {
                var range = document.selection.createRange();
                range.text = "[cartoon]" + range.text + "[/cartoon]";
        }
         else if (advmode) {
                AddTxt="[cartoon] [/cartoon]";
                AddText(AddTxt);
        } else {  
                txt=prompt('请输入要用漂亮的图片代替的文字',text_input);   
                if(txt!=null) {            
                        AddTxt="\r[cartoon]"+txt;
                        AddText(AddTxt);
                        AddText("[/cartoon]");
                }      
        }
}
2:在模板(一般的是默认模板)

post_bbinsert.htm

查找:

<a href="javascript:list()"><img src="{IMGDIR}/bb_list.gif" border="0" alt="{lang post_discuzcode_list}"></a>
下面加上:

<a href="javascript:cartoon()"><img src="images/bb_cartoon.gif" border="0" alt="插入文字秀特效文字"></a>
3:下载附件传到对应目录下

4:更新缓存

[ 本帖最后由 lu5266 于 2006-3-14 08:38 编辑 ]

cartoon for dz4.00 by lu5266.rar
(2006-03-13 14:23:02, 大小: 139 kB, 下载次数: 71)


TAG:

我来说两句

(可选)

Open Toolbar