亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php文本轉(zhuǎn)圖片自動換行的方法

 更新時間:2013年03月13日 10:00:36   作者:  
通過判斷字符串和截取字符串再拼接起來實現(xiàn)文本圖片自動換行,以下貼出此代碼

今天無意中瀏覽網(wǎng)面的時候發(fā)現(xiàn)一個長微博,它可以將文本轉(zhuǎn)成png圖片,于是乎就研究一下PHP文本轉(zhuǎn)圖片的方式,其實只要是用到了PHP的擴(kuò)展庫,GD庫來生成圖片,再通過圖像函數(shù)生成,代碼寫出來后,發(fā)現(xiàn)如果文字太多了,圖片就會超過屏幕的寬度,導(dǎo)致瀏覽器右拉條的出現(xiàn),于是,想想有沒有什么辦法可以使圖片能夠自動換行,通過GG,發(fā)現(xiàn)了一篇文章,通過判斷字符串和截取字符串再拼接起來實現(xiàn)文本圖片自動換行,以下貼出此代碼,以學(xué)習(xí)之中:

復(fù)制代碼 代碼如下:

<?php
header ("Content-type: image/png");
mb_internal_encoding("UTF-8"); // 設(shè)置編碼

function autowrap($fontsize, $angle, $fontface, $string, $width) {
// 這幾個變量分別是 字體大小, 角度, 字體名稱, 字符串, 預(yù)設(shè)寬度
 $content = "";

 // 將字符串拆分成一個個單字 保存到數(shù)組 letter 中
 for ($i=0;$i<mb_strlen($string);$i++) {
  $letter[] = mb_substr($string, $i, 1);
 }

 foreach ($letter as $l) {
  $teststr = $content." ".$l;
  $testbox = imagettfbbox($fontsize, $angle, $fontface, $teststr);
  // 判斷拼接后的字符串是否超過預(yù)設(shè)的寬度
  if (($testbox[2] > $width) && ($content !== "")) {
   $content .= "\n";
  }
  $content .= $l;
 }
 return $content;
}

$bg = imagecreatetruecolor(300, 290); // 創(chuàng)建畫布
$white = imagecolorallocate($bg, 255, 255, 255); // 創(chuàng)建白色
$text = "前段時間練習(xí)使用 PHP 的 GD 庫時,為了文本的自動換行糾結(jié)了很久。雖然可以通過插入 \n 實現(xiàn)換行,但考慮到文本中既有中文又有英文,強(qiáng)制限定每多少個文字就換行的效果很差。后來終于找到了一個英文下的自動換行的方法,其大概原理是將空格作為分隔符,將字符串分割為一個個單詞,然后再一個接一個地拼接在一起,判斷其長度是否超過畫布,若超過則換行再拼接,否則繼續(xù)拼接。考慮到中文需要將每個文字都拆開,所以我進(jìn)行了一點修改,完整代碼如下。";
$text = autowrap(12, 0, "simsun.ttc", $text, 280); // 自動換行處理

// 若文件編碼為 GB2312 請將下行的注釋去掉
// $text = iconv("GB2312", "UTF-8", $text);

imagettftext($bg, 12, 0, 10, 30, $white, "simsun.ttc", $text);
imagepng($bg);
imagedestroy($bg);
?>

相關(guān)文章

  • CI框架中site_url()和base_url()的區(qū)別

    CI框架中site_url()和base_url()的區(qū)別

    這篇文章主要介紹了CI框架中site_url()和base_url()的區(qū)別,需要的朋友可以參考下
    2015-01-01
  • php實現(xiàn)可逆加密的方法

    php實現(xiàn)可逆加密的方法

    這篇文章主要介紹了php實現(xiàn)可逆加密的方法,借鑒了discuz的加密原理實現(xiàn)通過密鑰進(jìn)行可逆加密的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 深入解析php中的foreach函數(shù)

    深入解析php中的foreach函數(shù)

    以下是對php中的foreach函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • 基于php實現(xiàn)長連接的方法與注意事項的問題

    基于php實現(xiàn)長連接的方法與注意事項的問題

    本篇文章是對在php中實現(xiàn)長連接的方法與注意事項的問題進(jìn)行了詳細(xì)的分析介紹。需要的朋友參考下
    2013-05-05
  • php簡單實現(xiàn)批量上傳圖片的方法

    php簡單實現(xiàn)批量上傳圖片的方法

    這篇文章主要介紹了php簡單實現(xiàn)批量上傳圖片的方法,實例分析了php文件傳輸?shù)膶崿F(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-05-05
  • ueditor 1.2.6 使用方法說明

    ueditor 1.2.6 使用方法說明

    以下文本是以php版本為例的,對ueditor 1.2.6的使用方法進(jìn)行了詳細(xì)的說明介紹,需要的朋友可以過來參考下
    2013-07-07
  • php讀取文件內(nèi)容的幾種方法詳解

    php讀取文件內(nèi)容的幾種方法詳解

    本篇文章是對php中讀取文件內(nèi)容的幾種方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP查找與搜索數(shù)組元素方法總結(jié)

    PHP查找與搜索數(shù)組元素方法總結(jié)

    這篇文章主要介紹了PHP查找與搜索數(shù)組元素方法,實例總結(jié)了php中in_array、array_key_exists、array_search、array_keys及array_values等函數(shù)操作數(shù)組的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • php過濾器使用詳解

    php過濾器使用詳解

    PHP 過濾器用于驗證和清理外部輸入。PHP 過濾器擴(kuò)展具有檢查用戶輸入所需的許多功能,旨在使數(shù)據(jù)驗證更容易、更快
    2022-11-11
  • php查詢mssql出現(xiàn)亂碼的解決方法

    php查詢mssql出現(xiàn)亂碼的解決方法

    這篇文章主要介紹了php查詢mssql出現(xiàn)亂碼的解決方法,分析了常見的各類解決方法供大家參考借鑒,非常具有實用價值,需要的朋友可以參考下
    2014-12-12

最新評論