在 phpword 中一行有多种颜色的文本?
one line with multiple color text in phpword?
有什么方法可以像这样在同一行中写不同颜色的文本,但它会改变整行颜色?
我希望我的台词像这样:
这是我的代码:
$section->addText( 'Headline: ', (array('color'=>'#70AD47')),$fontStyleIndexPara);
$section->addText(cleanstring($data[$k]['ArticleTitle']),$fontStyleIndexPara);
`
是的,你可以使用类似的东西:
$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);
}
}
不要使用 addText() 将各个文本部分直接写入节中,而是使用 addTextRun() 将其括起来。
通过使用 addTextRun() 可以防止换行。
您的示例代码:
$TextRun = $section->addTextRun();
$TextRun->addText( 'Headline: ', array('color'=>'70AD47'));
$TextRun->addText(cleanstring($data[$k]['ArticleTitle']));
颜色不使用#
有什么方法可以像这样在同一行中写不同颜色的文本,但它会改变整行颜色?
我希望我的台词像这样:
这是我的代码:
$section->addText( 'Headline: ', (array('color'=>'#70AD47')),$fontStyleIndexPara);
$section->addText(cleanstring($data[$k]['ArticleTitle']),$fontStyleIndexPara);
`
是的,你可以使用类似的东西:
$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);
}
}
不要使用 addText() 将各个文本部分直接写入节中,而是使用 addTextRun() 将其括起来。
通过使用 addTextRun() 可以防止换行。
您的示例代码:
$TextRun = $section->addTextRun();
$TextRun->addText( 'Headline: ', array('color'=>'70AD47'));
$TextRun->addText(cleanstring($data[$k]['ArticleTitle']));
颜色不使用#