2017-07-26 1 views
0

J'essaie d'afficher des données sur un document PDF avec FPDF, mon problème est que je ne peux pas limiter le nombre de caractères d'une chaîne et parfois la largeur est dépassée, J'utilise déjà MultiCell mais je veux définir une limite de caractères,Limiter le nombre de caractères sur une chaîne avec FPDF

J'ai essayé de résoudre cela avec ma fonction echo personnalisée mais apparemment ne fonctionne pas avec fpdf je ne sais pas ce qui se passe.

function custom_echo($x, $length) 
{ 
    if(strlen($x)<=$length) 
    { 
     echo $x; 
    } 
    else 
    { 
     $y=substr($x,0,$length) . '...'; 
     echo $y; 
    } 

} 

$message= "HELLO WORLD"; 

$pdf=new FPDF(); 
$pdf->SetLeftMargin(0); 
$pdf->AddPage(); 

$pdf->MultiCell(95, 6, utf8_decode(custom_echo($message,5)), 0, 1); 
// already tried this 
$pdf->MultiCell(95, 6, custom_echo(utf8_decode($message),5), 0, 1); 

$pdf->Output(); 

Répondre

0

La commande PHP echo envoie une chaîne de sortie. Vous devez renvoyer la chaîne comme le résultat de la fonction afin que FPDF puisse l'utiliser.

function custom_echo($x, $length) { 
    if (strlen($x) <= $length) { 
     return $x; 
    } else { 
     return substr($x,0,$length) . '...'; 
    } 
} 

qui peut être simplifié à:

function custom_echo($x, $length) { 
    if (strlen($x) <= $length) { 
     return $x; 
    } 
    return substr($x,0,$length) . '...'; 
} 

et pourrait être encore plus courte mais comment je le ferais.

+0

Je ne peux pas croire cette erreur, merci pour votre temps !! –

+0

@edgarreyes J'ai fait des erreurs comme ça aussi. – manassehkatz