有没有办法像这样在同一行中书写不同颜色的文本,但是会改变整个行的颜色?
这是我的代码:
$section->addText( 'Headline: ', (array('color'=>'#70AD47')),$fontStyleIndexPara);
$section->addText(cleanstring($data[$k]['ArticleTitle']),$fontStyleIndexPara);
`
答案 0 :(得分:1)
与其使用addText()将各个文本部分直接写到该部分中,不如使用addTextRun()将其括起来。
通过使用addTextRun()可以防止换行。
您的示例代码:
$TextRun = $section->addTextRun();
$TextRun->addText( 'Headline: ', array('color'=>'70AD47'));
$TextRun->addText(cleanstring($data[$k]['ArticleTitle']));
#不用于颜色。
答案 1 :(得分:0)
是的,您可以使用类似的内容:
$sentence='Your text in this sentence the two first word will get the stylefont while the rest will get the stylefont2';
$word_arr=explode(' ', $sentence);
$phpWord->addParagraphStyle('p3Style',array('align'=>'center'));
$c = 0;
$textrun = $section->addTextRun(array('align' => 'center'));
for($i = 0; $i < count($word_arr); $i++)
{
$c++;
if($c < 2)
{
$textrun->addText($word_arr[$i].' ', $styleFont);
}
else
{
$textrun->addText($word_arr[$i].' ', $styleFont2);
}
}