色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP 彩色文字實現代碼

最近流行彩字,下面是簡單的實現方法:
一.彩字的簡單實現
復制代碼 代碼如下:
header("content-type: image/png");
$text = $_get['t'];
$font = 'stxingka.ttf'; //ttf字體
$fontsize = 30;
$size = imagettfbbox($fontsize, 0, $font, $text); //獲得字體長寬范圍
$dx = abs($size[2]-$size[0]) +10;
$dy = abs($size[5]-$size[3]);
//構建圖像
$im = imagecreate($dx,$dy);
imagecolorallocate($im, 255,255, 255); //背景色
$fontcolor = imagecolorallocate($im, 255, 0, 0); //字體顏色
imagettftext($im, $fontsize, 0, 0, abs($size[5]), $fontcolor, $font, $text);
imagepng($im);
imagedestroy($im);

上面的程序只是表述了一些彩字的基本原理,要實現更復雜和美觀的彩字,所要做的只是更換一下字體,改一下字體顏色,添加一些背景圖,再考慮一下緩存等,方法也差不多,朋友們可以自己試試.
二.彩字應用
上面的程序生成的彩字是通過"?t=文字"來傳遞的,但需注意的是,這些文字最好用urlencode來編碼,當然,長度也應該有限制,這不是本文討論的范圍.
另外,生成彩字的程序和傳遞文字的程序都使用utf-8編碼,如果不是,手工轉一下..
要使用彩字,只需要用<img src="color.php?t=xxx" />即可,其中,color.php為生成彩字的程序(即上面的程序),xxx為經urlencode編碼的文字(用來生成彩字)
三.smarty插件
在smarty的plugins目錄下新建一文件modifier.ubb.php,內容如下: 
復制代碼 代碼如下:
function smarty_modifier_ubb($string){
$ubb = array(
'//[b/](.+?)/[//b/]/i', #加粗
'//[url=(.+?)/](.+?)/[//url/]/i', #url
'//[colorfont/](.+?)/[//colorfont/]/ie' #彩字,注意,要加e修飾符
);
$tohtml = array(
'<b>//1</b>',
'<a href="http://1">//2</a>',
'"<img src=/'color.php?t=".urlencode("http://1")."/'/>"'
);
//以上只是演ubb的實現,更多的ubb標簽朋友們可以按方法自己實現,其中的color.php根椐實際去修改
return preg_replace($ubb,$tohtml,$string);
}

這樣,要顯示彩字,只需在內容中加入
[colorfont]文字[/colorfont]
顯示時,在smarty模板中使用ubb修飾符即可,如{$contentubb}

php技術PHP 彩色文字實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 称多县| 韩城市| 铜梁县| 慈利县| 齐河县| 冀州市| 茌平县| 即墨市| 苏尼特左旗| 瓮安县| 金乡县| 高邑县| 三都| 宜良县| 德兴市| 喀喇| 玉环县| 柳州市| 宜阳县| 三门县| 游戏| 玛多县| 衡东县| 嘉荫县| 靖州| 江永县| 宁津县| 吉林省| 海盐县| 大洼县| 荔波县| 忻城县| 保康县| 毕节市| 扎赉特旗| 阿图什市| 竹山县| 阳新县| 武汉市| 铁力市| 赤城县|