目前仅支持纯文字的长微博生成,而且输入的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