Probleme mit function()

thomsonz

Mitglied
Probleme mit function() beim Erstellen eines pdf

Hallo liebe php´ler,
Ich habe mich seit einigen Tagen an das Erstellen eines pdf-Dokuments gemacht. Hierfür verwende ich FPDF. Mein Problem liegt darin, dass ich für das Dokument einen Header erstellt habe der je nach Datenbankeintrag anders aussehen soll. Als die Fehlermeldung kam, dass vor dem header eine Ausgabe stattfindet. Habe ich meine Schleifen kontrolliert und ein wenig geordnet. Jetzt erscheint aber die Fehlermeldung, dass meine zweite Funktion format($text) (Beschneiden nicht benötigter html-Codes) nicht definiert wäre. Leider übersehe ich aber den Fehler. Vielleicht kann mir jemand von Euch weiterhelfen.
Ergänzung: bevor ich den neuen header gemacht habe funktionierte die Funktion format()
Vielen Dank für Eure Hilfe
PHP:
<? require('ffpdf.php');
include "zugang.php";
$stadt = "1";
// Stadtbeschreibung
class PDF extends FPDF
{
function format($text)
	{
	// Wegschneiden nicht benötiger Html-Codes
	$text = str_replace(array("<i>", "</i>", "&raquo;", "<u>", "</u>"), "", $text);
	// Umlaute 
	$text = str_replace("ü", "ü", $text);
	$text = str_replace("&ouml;", "ö", $text);
	$text = str_replace("ö", "ö", $text);
	$text = str_replace("&Ouml;", "Ö", $text);
	$text = str_replace("&auml;", "ä", $text); 
	$text = str_replace('ä', 'ä', $text);
	$text = str_replace("&Auml;", "Ä", $text);
	$text = str_replace("&uuml;", "ü", $text);
	$text = str_replace("ü", "ü", $text);
	$text = str_replace("&Uuml;", "Ü", $text);
	$text = str_replace("&szlig;", "ß", $text);
	$text = str_replace("ß", "ß", $text);
	// Sonderzeichen
	$text = str_replace("&shy;", "-", $text);
	$text = str_replace("&amp;", "&", $text);
	$text = str_replace("&raquo;", "", $text);
	$text = str_replace("&sup2", "2", $text);
	//Links
	$text = str_replace("<a href='http://www.airandaman.com'  target='_blank'>Andaman Airlines</a>;<a href='http://www.airasia.com'  target='_blank'>Airasia</a>;<a href='http://www.bangkokair.com' target='_blank'>BangkokAir</a>;<a href='http://www.fly12go.com' target='_blank'>1-2-Go</a>; <a href='http://www.nokair.com' target='_blank'>NokAir</a>;<a href='http://www.phuketairlines.com' target='_blank'>PhuketAir</a>;<a href='http://www.thaiair.com' target='_blank'>ThaiAirways</a>;<a href='http://www.tigerairways.com' target='_blank'>TigerAirways</a>", "siehe unten*", $text);
	$text = str_replace(array('<a href="http://www.transport.co.th/Eng/EAST1.htm" target="_blank">', '</a>'),'', $text);
	$text = str_replace(array('<a href="http://www.transport.co.th/Eng/NORTH%20EAST10.htm" target="_blank">', '</a>'),'',$text);
	$text =str_replace(array('<a href="http://www.transport.co.th/Eng/NORTH%20EAST10.htm" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array('<a href="http://www.transport.co.th/Eng/SOUTH3.htm" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array('<a href="http://www.transport.co.th/Eng/SOUTH4.htm" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array('<a href="http://www.transport.co.th/Eng/CENTER1.htm" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array('<a href="http://www.transport.co.th/Eng/CENTER2.htm" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array('<a href="http://www.railway.co.th/english/images/east.gif" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array('<a href="http://www.railway.co.th/english/images/northeast.gif" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array('<a href="http://www.railway.co.th/english/images/north.gif" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array("<a href='http://www.railway.co.th/english/images/north.gif' target='_blank'>", "</a>"), '', $text);
	$text = str_replace(array('<a href="http://www.railway.co.th/english/images/south.gif" target="_blank">', '</a>'), '', $text);
	$text = str_replace(array("<a href='http://www.airandaman.com'  target='_blank'>", "</a>"), "",$text);
	$text = str_replace(array("<a href='http://www.airasia.com'  target='_blank'>", "</a>"), "", $text);
	$text = str_replace(array("<a href='http://www.bangkokair.com' target='_blank'>", "</a>"), "", $text);
	$text = str_replace(array("<a href='http://www.fly12go.com' target='_blank'>", "</a>"), "\n", $text);
	$text = str_replace(array("<a href='http://www.nokair.com' target='_blank'>", "</a>"), "", $text);
	$text = str_replace(array("<a href='http://www.phuketairlines.com' target='_blank'>", "</a>"), "", $text);
	$text = str_replace(array("<a href='http://www.thaiair.com' target='_blank'>", "</a>"), "", $text);
	$text = str_replace(array("<a href='http://www.tigerairways.com' target='_blank'>", "</a>"), "", $text);
	$text = str_replace(array('<a href="mailto:', '?cc=&subject=accomodation">Email</a>'), ' ',$text);
	$text = str_replace(array('<a href="mailto:', '">Email</a>'), ' ',$text);
	$text = str_replace("' target='_blank'>", ":", $text);
	$text = str_replace(array('Andaman Airlines', 'Airasia', 'BangkokAir', '1-2-Go', 'NokAir', 'PhuketAir', 'ThaiAirways', 'TigerAirways', ';'), '', $text);
	$text = str_replace(" Fahrplan", ", ", $text);
	$text = str_replace('  ',' ', $text);
	$text = str_replace('www.transport.co.th/Eng/NORTH3.htm" target="_blank">', '', $text);
	$text = str_replace(array("<a href='http://", "' target='_blank'>Link</a>"), '', $text);
	$text = str_replace(array('<a href="http://', '" target="_blank">Link</a>'), "", $text);
	$text = str_replace('" target="_blank">Link</a>', ': ', $text);
	$text = str_replace('" target="_blank">Link', '', $text);
	$text = str_replace(array("<b>", "</b>"), "", $text);
	$text = str_replace('">Email', '', $text);
	$text = str_replace('" target="_blank">', '-', $text);
	// Zeilenumbrüche
	$text = str_replace("<br>", "\n", $text);
	$text = str_replace("<br />", "\n", $text);
	return $text;
	}
function Header()
	{
	$one = "SELECT * FROM tabelle WHERE id = '".$stadt."' ";
	$two = mysql_query($one) or die(mysql_error());
	while ($portrait = mysql_fetch_assoc($two))
		{ 
		if ($portrait['region'] == "Nordthailand")
			
			$this->SetFillColor(0,100,0);
			
		else
			$this->SetFillColor(0,0,0);
    		//Schrift Arial, fett, Größe 15
    		$this->SetFont('Arial','B',12);
 			$this->SetTextColor(255,255,255);
    		//aktuelle Position rechts, Textausrichtung zentriert
    		$this->Cell(80,10,'FOOTSTEPS: '.$portrait['land'].'',1,1,'L');
			$this->Ln(0);
			$this->Cell(80,10,'Region: '.$portrait['region'].' Provinz: '.$portrait['provinz'].' Ort: '.$portrait['name'].'',1,1,'L');
    		//Zeilenumbruch
    		$this->Ln(20);
		}
	}
	//Header zu Ende

}//class Ende
?>

<?php
// Neues PDF-Dokument erstellen
$pdf = new PDF('P', 'mm', 'A4');

// neue Seite erzeugen
$pdf->AddPage();
	$one1 = "SELECT * FROM tabelle WHERE id = '".$stadt."' ";
	$two1 = mysql_query($one1) or die(mysql_error());
	while ($portrait1 = mysql_fetch_assoc($two1))
	{ 
	// Variablen für Stadtbeschreibung
	$ort = $portrait1['name'];
	$infos = $portrait1['infos'];
	$beschreibung = $portrait1['beschreibung'];

$pdf->SetFont('helvetica', 'B', 12 );
$pdf->MultiCell(180, 10, format($ort), '', 'C', 0);

// Füllung auf Orange einstellen 
$pdf->SetFillColor(255,153, 0); 
$pdf->Ln(5);
$pdf->SetFont('helvetica', 'B', 10 );
$pdf->MultiCell( 180, 5, 'Hintergrundinformationen', '', 'C', 0);

$pdf->SetFont('helvetica', '', 8 );
$pdf->MultiCell( 180, 5, format($beschreibung) , '', 'L', 0);

$pdf->SetFont('helvetica', 'B', 8 );
$pdf->MultiCell( 180, 5, 'Wichtige Infos' , '', 'C', 1);
$pdf->SetFont('helvetica', '', 8 );
$pdf->MultiCell( 180, 4, format($infos), '', 'L', 1);


	}
 
Zuletzt bearbeitet:
Hat keiner eine Idee?
hmm ich habe jetzt noch ne weile rumexperimentiert. Komme aber einfach nicht dahinter. Könnt ihr mir vielleicht sagen ob ihr der Meinung seid, dass der Code richtig ist? Vielleicht liegt der Fehler ja woanders. :confused:
 
ist wohl ein Visibilitätsproblem die Funktion format() ist nur im Klassenkontext zu erreichen also über:

PHP:
$pdf->format($ort);

möglicherweise hilft eine kleinen funtion in der klasse pdf

PHP:
function cell($ort){

$this->MultiCell(180, 10, $this->format($ort), '', 'C', 0); 

}

gruß

kato
 
Zurück