0

幅 30 列のテキストエリアを含むフォームがあります。このテキストエリアとその他のテキストは、FPDF 経由で .pdf に表示する必要があります。テキストエリアは次のように表示されます。

$text=$row->fehlerbeschreibung;
$text=str_replace(array("\r\n", "\n", "\r"),"",$text);
$pdf->MultiCell(0,6,$text);

30列の幅が原因で発生する改行を無視したいことがわかります。ただし、改行を作成するために Enter キーを押すたびに、改行が表示されます。この問題を回避するために、改行のコーディングに違いはありますか? それとも別の方法を知っていますか?

4

4 に答える 4

1

改行はEnterキーを押したときにのみ作成されるため、

$array = explode("\n",$string);

次に、このように配列をループします。

foreach($array  as $key => $item) {
$pdf->MultiCell(0,6,$item);
$pdf->Ln();
}
于 2012-12-03T13:17:16.157 に答える
0

あなたのテキストエリアフィールドが履歴であると考えてください。だからあなたができることは次のとおりです:

$lengthofhistory = strlen($_SESSION['history']); 
$pdf- >SetFont('Helvetica','',10); $start = 0; $space = 0;
for($i=0;$i<=$lengthofhistory;$i++)
{
$char = substr( $_SESSION['history'], $i, 1 );
if($char == ' ') { $space = $space + 1; 
if($space == 18) { $substring =   substr($_SESSION['history'],$start,$i- $start); 
$pdf->Cell(0,5,$substring,0,1,'L'); $start = $i+1; $space = 0; } }
}
$substring = substr($_SESSION['history'],$start,$lengthofcomplaints-$start);
$pdf->Cell(0,5,$substring,0,1,'L');
于 2016-05-21T17:00:02.597 に答える