Php彩色文字、居中文字和多行文字

Php彩色文字、居中文字和多行文字,php,Php,多行文字,居中,每个单词必须具有不同的颜色。我尝试了太多的方法。但他们都不能做我想做的事。这怎么可能是一个简单和无故障的方式 如何将文本分成3-4个具有相同颜色背景、每个具有不同颜色的单词 $metin=“音乐行业大鲨鱼如何揭露音乐行业中的许多无良分子” 静态gd库的示例: use GDText\Box; use GDText\Color; $files = glob('./fontlar/*.ttf'); $fontik = implode("||", $files); $fonti

多行文字,居中,每个单词必须具有不同的颜色。我尝试了太多的方法。但他们都不能做我想做的事。这怎么可能是一个简单和无故障的方式

如何将文本分成3-4个具有相同颜色背景、每个具有不同颜色的单词

$metin=“音乐行业大鲨鱼如何揭露音乐行业中的许多无良分子”

静态gd库的示例:

use GDText\Box;
use GDText\Color;

    $files = glob('./fontlar/*.ttf');
$fontik = implode("||", $files);
$fontik2=$fontik;




$metin="Music Industry Sharks How to Uncover the Unscrupulous Many in the Music Business";
$metin=preg_replace("/[^A-Za-z0-9öÖüÜéèêôÄäçÇŞşĞğİı ]/", '', $metin);
$yenimetin=str_replace('-','',$metin);
$yenimetin=str_replace("\n",'',$yenimetin);
$yenimetinp = wordwrap($yenimetin, 1, "<br>", false);

echo $yenimetinp;
$prc=explode('<br>',$yenimetinp);

$i=0;

while ($i<=substr_count($yenimetinp,'<br>')) {


if (substr_count($fontik2,'||')<=0); $fontik2=$fontik;
$nafont=explode('||',$fontik2);
$nafont=$nafont[rand(0,substr_count($fontik2,'||'))];
$fontik2=str_replace($nafont.'||','',$fontik2);
$fontik2=str_replace('||'.$nafont,'',$fontik2);



$im = imagecreatetruecolor(2000, 1000);
$backgroundColor = imagecolorallocate($im, 0, 18, 64);
imagefill($im, 0, 0, $backgroundColor);

$renkler=array("#FFFFFF","#99FF00","#FFCC00","#ACF17E","#92E4E4","#FFFF33","#00FF66");

$rgb = hex2rgb($renkler[array_rand($renkler)]);

$r=$rgb[0];
$g=$rgb[1];
$b=$rgb[2];

$box = new Box($im);
$box->setFontFace(__DIR__.$nafont);
$box->setFontColor(new Color($r, $g, $b));
$box->setTextShadow(new Color(0, 0, 0, 50), 2, 2);
$box->setFontSize(150);
$box->setBox(strlen($prc[$i]), 20, 1800, 1000);
$box->setTextAlign('left', 'center');

$box->draw($prc[$i]);

    $renkler=array("#FFFFFF","#99FF00","#FFCC00","#ACF17E","#92E4E4","#FFFF33","#00FF66");

$rgb = hex2rgb($renkler[array_rand($renkler)]);

$r=$rgb[0];
$g=$rgb[1];
$b=$rgb[2];
$box->setFontFace(__DIR__.$nafont);
$box->setFontColor(new Color($r, $g, $b));
$box->setTextShadow(new Color(0, 0, 0, 50), 2, 2);
$box->setFontSize(150);
$box->setBox(strlen($prc[$i])*100, 20, 1800, 1000);
$box->setTextAlign('left', 'center');

$box->draw($prc[$i+1]);

    $renkler=array("#FFFFFF","#99FF00","#FFCC00","#ACF17E","#92E4E4","#FFFF33","#00FF66");

$rgb = hex2rgb($renkler[array_rand($renkler)]);

$r=$rgb[0];
$g=$rgb[1];
$b=$rgb[2];
$box->setFontFace(__DIR__.$nafont);
$box->setFontColor(new Color($r, $g, $b));
$box->setTextShadow(new Color(0, 0, 0, 50), 2, 2);
$box->setFontSize(150);
$box->setBox(strlen($prc[$i+1])*150, 20, 1800, 1000);
$box->setTextAlign('left', 'center');

$box->draw($prc[$i+2]);

imagepng($im,'./tmp/test'.$i.'.png');
/*

$cropped = imagecropauto($im, IMG_CROP_SIDES);      
imagepng($cropped,'./tmp/test'.$i.'.png');
imagedestroy( $cropped );   
*/
    $i++;
}
使用GDText\Box;
使用GDText\Color;
$files=glob('./fontlar/*.ttf');
$fontik=内爆(“| |,$files”);
$fontik2=$fontik;
$metin=“音乐行业大鲨鱼如何揭露音乐行业中的许多无良分子”;
$metin=pregİU replace(“/”、“$metin”);
$yenimetin=str_replace('-','$metin);
$yenimetin=str_replace(“\n”,”$yenimetin);
$yenimetip=wordwrap($yenimetin,1,“
”,false); echo$Yenimetip; $prc=爆炸(“
”,$YENIMETIP); $i=0; 而($isetFontColor(新颜色($r,$g,$b)); $box->setTextShadow(新颜色(0,0,0,50),2,2); $box->setFontSize(150); $box->setBox(strlen($prc[$i]),2018001000); $box->setTextAlign('left','center'); $box->draw($prc[$i]); $renkler=array(“#ffffffff”、“#99FF00”、“#FFCC00”、“#ACF17E”、“#92E4E4”、“#FFFF33”、“#00FF66”); $rgb=hex2rgb($renkler[array_rand($renkler)]); $r=$rgb[0]; $g=$rgb[1]; $b=$rgb[2]; $box->setFontFace(_DIR.$nafont); $box->setFontColor(新颜色($r、$g、$b)); $box->setTextShadow(新颜色(0,0,0,50),2,2); $box->setFontSize(150); $box->setBox(strlen($prc[$i])*100,20,1800,1000); $box->setTextAlign('left','center'); $box->draw($prc[$i+1]); $renkler=array(“#ffffffff”、“#99FF00”、“#FFCC00”、“#ACF17E”、“#92E4E4”、“#FFFF33”、“#00FF66”); $rgb=hex2rgb($renkler[array_rand($renkler)]); $r=$rgb[0]; $g=$rgb[1]; $b=$rgb[2]; $box->setFontFace(_DIR.$nafont); $box->setFontColor(新颜色($r、$g、$b)); $box->setTextShadow(新颜色(0,0,0,50),2,2); $box->setFontSize(150); $box->setBox(strlen($prc[$i+1])*150,20,1800,1000); $box->setTextAlign('left','center'); $box->draw($prc[$i+2]); imagepng($im'./tmp/test'.$i..png'); /* $cropped=imagecropauto($im,IMG\u cropped\u侧); imagepng($crapped'./tmp/test'.$i..png'); 图像破坏(裁剪); */ $i++; }


失败。

在下面的var colors中签名有效的css颜色

var colors = ["#ED401B", "blue", "red", "green", "yellow"];

$('#your-text').html(function (i, text) {
    return $.map(text.split(' '), function (word) {
         return '<div style="color:'
             + colors[Math.floor(Math.random() * colors.length)]
             + '">' + word + '</div>';
    }).join(' ');
});
var colors=[“ED401B”、“蓝色”、“红色”、“绿色”、“黄色”];
$('#您的文本').html(函数(i,文本){
返回$.map(text.split(“”),函数(word){
返回“”+单词+“”;
}).加入(“”);
});
以下是JSFIDLE:

我不认为使用str_replace可以做到这一点,但我认为jquery可以做到。使用拆分字符串,使用从结果数组中获取3-4个块。您可能还希望更新您的问题,以包括GD库(或者是一个仅适用于PHP的解决方案可行吗?)@我用过kerbholz。主要的问题是所有单词的颜色、位置、背景调整和间距。所以在imagettftext中…我正在更新谢谢你的答案,但它必须是PHP。我在确定文本颜色方面没有问题。只是因为每个单词的颜色不同,所以在放置它们时存在问题,在它们之间留有空格。我很瘦k、 我需要一个好的imagettftext-alghoritm。@巴里斯,我不知道php中的soluiton,希望你能得到你的答案。看到这个我想这是你的答案:谢谢你(teşekkür ederim)@Dilek。我试过了。它不支持每一个背景颜色不同的单词都有彩色文本。