在fpdf中将<br />替换为“ \ n”

霍坎

我正在用fpdf动态创建一个pdf。该代码可能不是最漂亮的,但它或多或少地像我想要的那样工作。我的问题是我想用替换<br />从数据库中获取的所有内容"\n"每当我尝试自己添加变量时,都会收到错误消息

发生意外的变数...

我的完整代码是这样的:

<?php
//connection to database
require("db_link.inc.php");
//get correct Id
if(isset($_GET["Id"])){
    $lpId = $_GET["Id"];
}
else {
    header("Location: main.php");
}
//query
$sql_result = $link->query("SELECT * FROM LessonPlans WHERE Id=$lpId;") or die ("<div class='row'>
                    <div class='col s12 m6 offset-m3'>
                        <div class='card red'>
                            <div class='card-content white-text'>
                            <span class='card-title'><strong>Oh snap!</strong></span>
                            <p>We couldn&apos;t ask the query</p>
                        </div>
                    </div>
                </div>");

    require('../mlslp/assets/fpdf/fpdf.php');

class PDF extends FPDF

{
    // Page footer
    function Footer()
    {
        // Position at 1.5 cm from bottom
        $this->SetY(-15);
        // Arial italic 8
        $this->SetFont('Arial','I',8);
        // Page number
        $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
    }
}

// Instanciation of inherited class
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
    // Logo
$pdf->Image('../mlslp/assets/img/ML-logo.jpeg',7,6,30);
    // Arial bold 18
$pdf->SetFont('Arial','B',18);
    // Move to the right
$pdf->Cell(55);
    // Title
while ($row = mysqli_fetch_array($sql_result)){
$pdf->Cell(80,20,$row['Subject'],0,0,'C');
    // Move to the right
$pdf->Cell(25);
    // Arial 12
$pdf->SetFont('Arial','',12);
    // Level
$pdf->Cell(30,20,$row['Level'],0,0,'R');
    // Line break
$pdf->Ln(25);
    // Arial bold 12
$pdf->SetFont('Arial', 'B', 12);
    // Background color
$pdf->SetFillColor(200,220,255);
    // Aim heading
$pdf->Cell(0,10,'Aim',0,1,'C',true);
$pdf->Ln(6);
    // Times 12
$pdf->SetFont('Times', '', 12);
    // Aim
$pdf->Cell(0,0,$row['Aim'],0,1,'C');
$pdf->Ln(10);
    // Arial Bold 12
$pdf->SetFont('Arial', 'B', 12);
    // Grammar heading
$pdf->Cell(95,10,'Grammar',0,0,'C',true);
    // Vocabulary heading
$pdf->Cell(95,10,'Vocabulary',0,1,'C',true);
$pdf->Ln(6);
    // Times 12
$pdf->SetFont('Times', '', 12);
    // Grammar
$x = $pdf->GetX();
$y = $pdf->GetY();
$pdf->MultiCell(90,7,$row['Grammar'],0,'L');
    // Move to the right
$pdf->SetXY($x + 100, $y);
    // Vocabulary
$pdf->MultiCell(90,7,$row['Vocabulary'],0,'L');
$pdf->Ln(10);
    // Arial Bold 12
$pdf->SetFont('Arial', 'B', 12);
    // Procedure heading
$pdf->Cell(0,10,'Procedure',0,1,'C',true);
$pdf->Ln(6);
    // Times 12
$pdf->SetFont('Times', '', 12);
    // Procedure
$pdf->MultiCell(190,7,$row['Proc'],0,'L');
$pdf->Ln(10);
    // Arial Bold 12
$pdf->SetFont('Arial', 'B', 12);
    // Exercise heading
$pdf->Cell(0,10,'Exercise',0,1,'C',true);
$pdf->Ln(6);
    // Times 12
$pdf->SetFont('Times', '', 12);
    // Exercise
$pdf->MultiCell(190,7,$row['Exercise'],0,'L');
}
$pdf->Ln(10);
$pdf->Output();

?>

同样,它不是最漂亮的代码,但是它可以工作。但是,如果我要替换<br />为换行符,则不行我该怎么做呢?

索菲涅·杰巴利(Sofiene Djebali)

这应该可以工作,将其放在循环之前:

的PHP

$pdf->Cell(55);
$breaks = array("<br />","<br>","<br/>"); 
while ($row = mysqli_fetch_array($sql_result)){
    foreach ($row as $key => $value) {
       $row[$key] = str_ireplace($breaks, "\r\n", $value); 
    }
    $pdf->Cell(80,20,$row['Subject'],0,0,'C');
    //...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用<br>标记替换\ n

来自分类Dev

如何用\ n替换</br>和<br/>?

来自分类Dev

jQuery用<br />替换\ n吗?

来自分类Dev

html textarea将br标签替换为\ n

来自分类Dev

js将\ n替换为<br>并显示

来自分类Dev

如何在PHP中将<br>的列表转换为(无序)列表?

来自分类Dev

使用.getElementByClassName将<strong>标签替换为<br />标签

来自分类Dev

将所有<br>标记替换为javascript中的空格

来自分类Dev

自动将HTML标记替换为“ <br>”

来自分类Dev

快速将<br>替换为\ n

来自分类Dev

将\ r \ n替换为<br />作为文本

来自分类Dev

在C#中将\ n替换为<br/>

来自分类Dev

无法在Angular中将mySQL数据库条目文本'\ n'转换为'<br>'?

来自分类Dev

在VBA中将错误#N / A替换为今天的日期

来自分类Dev

如何用\ n替换</br>和<br/>?

来自分类Dev

将* <BR>替换为<li>

来自分类Dev

将\ n“替换为”,

来自分类Dev

如何在textarea php-posting中将Enters替换为“ <br>”?

来自分类Dev

js将\ n替换为<br>并显示

来自分类Dev

如何使用jQuery用\ r \ n替换所有<br />

来自分类Dev

如何在PHP中将两个以上的<br/>标记转换为双精度<br/> <br/>

来自分类Dev

将JSON \ n转换为HTML <br>标记

来自分类Dev

多个<br /> <br> <br/> \ r \ n出现需要替换为<br />

来自分类Dev

用<br>替换

来自分类Dev

在PHP中将\“替换为”

来自分类Dev

jQuery用<br>替换\ n HTML无法呈现<br>

来自分类Dev

将标签p替换为Blockquote中的br

来自分类Dev

如何在大文本文件中的 Windows 中将 \r\n 替换为 \n?

来自分类Dev

MySQL 奇怪的字符替换为 <BR