PHP 彩色文字实现代码
发布时间:2020-12-13 05:33:22 所属栏目:PHP教程 来源:网络整理
导读:最近流行彩字,下面是简单的实现方法: 一.彩字的简单实现 div class="codetitle" a style="CURSOR: pointer" data="65809" class="copybut" id="copybut65809" onclick="doCopy('code65809')" 代码如下: div class="codebody" id="code65809" header("content
最近流行彩字,下面是简单的实现方法: 一.彩字的简单实现<div class="codetitle"><a style="CURSOR: pointer" data="65809" class="copybut" id="copybut65809" onclick="doCopy('code65809')"> 代码如下:<div class="codebody" id="code65809"> header("content-type: image/png"); $text = $_get['t']; $font = 'stxingka.ttf'; //ttf字体 $fontsize = 30; $size = imagettfbbox($fontsize,$font,$text); //获得字体长宽范围 $dx = abs($size[2]-$size[0]) +10; $dy = abs($size[5]-$size[3]); //构建图像 $im = imagecreate($dx,$dy); imagecolorallocate($im,255,255); //背景色 $fontcolor = imagecolorallocate($im,0); //字体颜色 imagettftext($im,$fontsize,abs($size[5]),$fontcolor,$text); imagepng($im); imagedestroy($im); 上面的程序只是表述了一些彩字的基本原理,要实现更复杂和美观的彩字,所要做的只是更换一下字体,改一下字体颜色,添加一些背景图,再考虑一下缓存等,方法也差不多,朋友们可以自己试试. 二.彩字应用上面的程序生成的彩字是通过"?t=文字"来传递的,但需注意的是,这些文字最好用urlencode来编码,当然,长度也应该有限制,这不是本文讨论的范围. 另外,生成彩字的程序和传递文字的程序都使用utf-8编码,如果不是,手工转一下.. 要使用彩字,只需要用 三.smarty插件在smarty的plugins目录下新建一文件modifier.ubb.php,内容如下: <div class="codetitle"><a style="CURSOR: pointer" data="57523" class="copybut" id="copybut57523" onclick="doCopy('code57523')"> 代码如下:<div class="codebody" id="code57523"> function smarty_modifier_ubb($string){ $ubb = array( '/[b](.+?)[/b]/i',#加粗 '/[url=(.+?)](.+?)[/url]/i',#url '/[colorfont](.+?)[/colorfont]/ie' #彩字,注意,要加e修饰符 ); $tohtml = array( '1', '<a href="1">2', '"<img src='color.php?t=".urlencode("1")."'/>"' ); //以上只是演ubb的实现,更多的ubb标签朋友们可以按方法自己实现,其中的color.php根椐实际去修改 return preg_replace($ubb,$tohtml,$string); } 这样,要显示彩字,只需在内容中加入 [colorfont]文字[/colorfont] 显示时,在smarty模板中使用ubb修饰符即可,如{$contentubb} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |