Heim  >  Artikel  >  php教程  >  PHP生成长微博

PHP生成长微博

WBOY
WBOYOriginal
2016-06-06 20:08:481160Durchsuche

目前仅支持纯文字的长微博生成,而且输入的html只能包含p标签。 http://leo108.com 过段时间会增加图片以及页眉页脚支持。 http://leo108.com/pid-1907.asp /** * @name cwb * php生成长微博 * @param * $str 格式化后的html,仅支持p标签 * $size 字体大小

目前仅支持纯文字的长微博生成,而且输入的html只能包含p标签。

http://leo108.com

过段时间会增加图片以及页眉页脚支持。

http://leo108.com/pid-1907.asp

/**
 * @name cwb
 * php生成长微博
 * @param 
 *       $str 格式化后的html,仅支持p标签
 *       $size 字体大小
 *       $font_path字体路径
 *       $save_path 图片保存路径
 * @todo  增加图片支持
 * @author  leo108 root@leo108.com
 */
function cwb($str,$size,$font_path,$save_path){
    $str = strip_tags($str,'<p>');
    $matches = array();
    preg_match_all("/</p><p>/", $str, $matches);
    foreach ($matches[0] as $key => $value) {
        $matches[0][$key] = preg_replace("/</p><p>]*>/", "", $matches[0][$key]);
        $matches[0][$key] = str_replace('</p>', '', $matches[0][$key]);
        $matches[0][$key] = trim($matches[0][$key]);
    }
    $newrows = array();
    foreach ($matches[0] as $key => $str) {
        $strlen = mb_strlen($str,'utf-8');
        if ($strlen == 0) {
            continue;
        }
        $text = '';
        for($i = 0; $i  320){
                $newrows[] = $text;
                $text = $char;
            }else{
                $text .= $char;
            }
        }
        $newrows[] = $text;
        $newrows[] = '';
    }
    $height = count($newrows) * 16 + 30;
    $im = imagecreatetruecolor(360, $height);
    $white = imagecolorallocate($im, 255, 255, 255);
    $black = imagecolorallocate($im, 0, 0, 0);
    imagefill($im, 0, 0, $white);
    imagecopyresampled($im,$thumb_im,20,10,0,0,$pic_width,$pic_height,$pic_width,$pic_height);
    $curheight = $pic_height + 30;
    foreach ($newrows as $key => $value) {
        imagettftext($im , $size, 0, 20, $curheight, $black, $font_path, $value);
        $curheight += 16;
    }
    imagepng($im,$save_path);
}

 PHP

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn