2013-07-13 30 views
5

Zastanawiałem się, czy istnieje sposób na pogrubienie pewnych słów na linii. Na przykład, gdybym chciał co trzecie słowo w wierszu pogrubionym, jak bym to zrobił. Obecnie używam addText, ale wymaga to, aby cała linia była pogrubiona lub nie pogrubiona. Wszelkie reakcje będą bardzo mile widziane.PHPWold pogrubienie pewnych słów na linii

Odpowiedz

4

Będziesz musiał użyć metody createTextRun(). Próbowałem z Text.php pliku z Examples folderu, a tutaj jest odpowiedni kod dla swojego problemu:

$textrun = $section->createTextRun(); 
$sentence='I am sentence, and every third word will be bold. This is bold.'; 
$word_arr=explode(' ', $sentence); 

$styleFont = array('bold'=>true, 'size'=>16, 'name'=>'Calibri'); 
$styleFont2 = array('bold'=>false, 'size'=>16, 'name'=>'Calibri'); 

$c = 0; 
for($i = 0; $i < count($word_arr); $i++) 
{ 
    $c++; 
    if($c % 3 == 0) 
    { 
     $textrun->addText($word_arr[$i].' ', $styleFont); 
    } 
    else 
    { 
     $textrun->addText($word_arr[$i].' ', $styleFont2); 
    } 
} 

Można dostosować go, aby uzyskać to, co chcesz, ale w zasadzie, za pomocą wspomnianej metodzie możliwe jest uzyskać różne style w tej samej linii.

+0

Dziękujemy, że bardzo pomogło! – user2579723

+1

Zrobiłem szybką funkcję, aby zrobić to, czego potrzebujesz, możesz go znaleźć tutaj -> http://pastebin.com/qDMcsivW – Jake

+0

Czy ktoś wie, czy formatowanie śródliniowe można zastosować również przy użyciu metody addListItem() w przypadku tekstu punktowanego? –