我有这个代码,当lenght大于64个字符时,会将字符串$ txt0分成两部分。问题是,有时候会给我一个字,就像是:
$txt0 = "This house is ... and really pretty"
----result----
This house is...and rel
ly pretty
$array_posiciones = array (-250, -200, -150, -100, -50);
$posicion_lineas = 0;
if ( !empty($txt0) )
{
if ( strlen($txt0) > 64 )
{
$lines = str_split($txt0, 40);
$listing_title->annotateImage($draw, 0, $array_posiciones[$posicion_lineas], 0, $lines[0]."-");
$posicion_lineas++;
$listing_title->annotateImage($draw, 0, $array_posiciones[$posicion_lineas], 0, $lines[1]);
$posicion_lineas++;
} else {
$listing_title->annotateImage($draw, 0, $array_posiciones[$posicion_lineas], 0, $txt0);
$posicion_lineas++;
}
}
我试图用imagick在图像上绘制两条干净的线条但是目前我可以避免在分隔线条时剪切一个字。谢谢你,我的英语很差。我希望你能理解这个问题。
答案 0 :(得分:0)
$txt0_short0=substr($txt0,0,strrpos($txt0," ",64));
$txt0_short1=substr($txt0,strrpos($txt0," ",64));
它从第一个64字符之后的" "
的第一个位置开始,并将其用作分割点。