php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.10.2008, 00:33  
Neuer Benutzer
 
Registriert seit: 03.11.2007
Beiträge: 20
centauro befindet sich auf einem aufstrebenden Ast
Standard Filehandler, öffnen, durchsuchen und bei bestimmten Suchstring Seitenumbruch erzeugen

Hallo Forum!

Ausgangssituation:

Ich erstelle ein PDF-Dokument und lese dafür mit "$ar = file($content)" eine Datei ein, dessen Inhalt ich anschliessend im PDF auslese und anzeige.

$content steht hier für den Pfad zur Datei.

Soweit funktioniert alles!

Ziel:

Ziel ist es, eine Datei nach einem bestimmten Suchstring "abcde" zu durchsuchen. Wird der Wert gefunden, soll ein Seitenumbruch gemacht werden.

In fpdf mit "$pdf->AddPage();"

Problemstellung:

Welche Funktion kann ich anwenden, um die eingelesene Datei mit dem vorgegebenen statischen String zu durchsuchen?

Es soll nun immer dann, wenn dieser Suchstring gefunden wird, ein Seitenumbruch erzeugt werden.

Benutzte Klassen:

  • fpdf
Vielen Dank im Voraus und viele Grüße,

centauro
centauro ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.10.2008, 06:28  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

preg_match()
preg_replace()
HPR1974 ist offline   Mit Zitat antworten
Alt 31.10.2008, 10:01  
Neuer Benutzer
 
Registriert seit: 03.11.2007
Beiträge: 20
centauro befindet sich auf einem aufstrebenden Ast
Standard

Hi !

Vielen Dank für den Tip.
Kann man das ganze auch mit nem filehandler wie fopen machen und anschliessend eine foreach drüberjagen?

Denn wenn ich dies mache und in fopen() einen pfad zur datei angebe, dann erhalte ich folgende Fehlermeldung:

preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in E:\Webserver\htdocs\indiva\includes\cluster\html2f pdf\systemkalkulation.php on line 77

Geändert von centauro (31.10.2008 um 10:06 Uhr).
centauro ist offline   Mit Zitat antworten
Alt 31.10.2008, 10:52  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Was sagt die Fehlermeldung aus?
Was hast Du zur Fehlerbehebung gemacht?
Wo ist der zugehörige code?
HPR1974 ist offline   Mit Zitat antworten
Alt 31.10.2008, 11:18  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo centauro,

bitte bemühe dich um eine fortgeschrittene Darstellung deiner Aufgabenstellung und Fehlermeldungen. Das Niveau ist bisher leider nur auf dem Einsteiger-Level.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 31.10.2008, 11:40  
Neuer Benutzer
 
Registriert seit: 03.11.2007
Beiträge: 20
centauro befindet sich auf einem aufstrebenden Ast
Standard

Hi!

Ihr habt vollkommen recht. Sorry dafür!

Also hier etwas detaillierter:

Name der Datei zur Erstellung des PDF-Dokuments: extract_pdf.php
Eingelesene lokale Html-Datei: system_ausgabe.html

Verwendete Klassen: fpdf, html2fpdf

Ziel:

Ich möchte gerne eine eingelesene HTML-Datei, aus der ich einen PDF-Report erstellen möchte, nach einem String durchsuchen.

Immer dann, wenn der gesuchte String gefunden wird, möchte ich einen Seitenumbruch machen. Wie schon im ersten Posting erwähnt.

Mein mit Eurer Hilfe erstellter Ansatz unten im Code, erzeugt leider einen weiteren Fehler bei dem ich nicht weiter komme.

###ERGÄNZUNG###
Die eingelesene HTML-Datei enthält ca. 100 Zeilen und beinhaltet auf jeder Seite folgende Zeile: SYSTEM AUSGABE BLATT 1, ... 2, ... 3
Die Größe der einzelnen System-Dokumente kann Variabel sein. Das heisst, dass das Blatt 1 ein vollständiges Blatt sein kann und Blatt 2 nur 20 Zeilen enthalten kann. Gleich im Anhang von Blatt 2 folgt dann auf dem selben Dokument Blatt 3, was aber nicht sein soll. Für Blatt 3 soll nun eine weitere Seite mit "AddPage()" angefügt werden und der Inhalt von Blatt 3 soll auf angefügten Seite erscheinen.
###ERGÄNZUNG ENDE###

Fehlermeldung:

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in E:\Webserver\htdocs\KGS\includes\druckverwaltung_i nc\html2fpdf\audatexkalkulation.php on line 78

Was habe ich dagegen getan:

Ich habe zunächst geprüft ob die Reihenfolge der Kriterien in der Funktion preg_match korrekt ist. Ist sie.

Dann habe ich geprüft, warum diese Fehlermeldung überhaupt erscheint.
Er meckert hier meine Pfadangabe zur Datei an und kommt mit dem Baslash nicht klar.

Ich vermute mal, dass ein preg_match mit fopen nicht funktioniert. Bin mir aber dabei nicht ganz sicher.

Ich habe mal die Funktionsreferenz durchsucht aber bin noch nicht auf die richtige Lösung gefunden. Im Internet habe ich auch mal gegoogelt aber noch nichts gefunden.
Code:
Die fpdf-Klasse lasse ich hier mal bewusst weg um Platz zu sparen.

PHP-Code:
//Dokument beginnen
$pdf=new PDF();

$fp fopen("../system_ausgabe.html","r");
$strContent fread($fpfilesize("../system_ausgabe.html"));
$suchmuster "SYSTEM";

while (
$treffer=preg_match($suchmuster$strContent$treffer)) {
    
    if (
$treffer=true) {
    
$pdf->AddPage();    
    }
    
    
}

fclose($fp);
$pdf->WriteHTML($strContent);
$pdf->Output('SYSTEMREPORT.pdf''F'); 
Hoffe, dass dieses Posting etwas klarer und verständlicher ist. Sorry nochmal für die vorige Ungenauigkeit. Da blickt warhaftig keiner durch.

Geändert von centauro (31.10.2008 um 11:50 Uhr). Grund: ERGÄNZUNG
centauro ist offline   Mit Zitat antworten
Alt 31.10.2008, 13:21  
Erfahrener Benutzer
 
Benutzerbild von Felix
 
Registriert seit: 17.06.2008
Beiträge: 184
Felix befindet sich auf einem aufstrebenden Ast
Standard

Ich würde das ganze mit preg_split() probieren...
und dann das entstandene array ungefähr so auf das PDF bringen
PHP-Code:
$pdf = new HTML2FPDF();
foreach(
$array as $seite) {
    
$pdf->AddPage('P');
    
$pdf->WriteHTML($seite);
}
$pdf->Output('SYSTEMREPORT.pdf''F'); 
viel Spaß
Felix
__________________
Wer Rechtschreibefehler in meinen Beiträgen findet,
der darf sie gerne behalten/tauschen/bei ebay versteigern...
Felix ist offline   Mit Zitat antworten
Alt 31.10.2008, 13:40  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

wenn Du die Fehlermeldung liest, wirst Du lesen, dass preg_match einen delimiter verlangt, der nicht alphanumerisch und nicht backslash ist.
und wenn ich mir deine Logik so anschaue, dann verstehe ich nicht warum Du eine nur neue Seite einfügst.
Sinn machen würde nur wenn Du immer bei oder vor oder hinter SYSTEM eine neue Seite einbaust
HPR1974 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
String nach bestimmten Zeichen durchsuchen PHP Tipps 2006 11 03.02.2006 11:51
string splitten und nach bestimmten wörtern durchsuchen PHP Tipps 2005-2 5 11.09.2005 13:05
[Erledigt] Verszeichnis nach einer bestimmten Datei durchsuchen PHP Tipps 2005 2 14.02.2005 15:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php filehandler, filehandler php, pdf durchsuchen ohne zu öffnen, http://www.php.de/php-fortgeschrittene/48604-filehandler-oeffnen-durchsuchen-und-bei-bestimmten-suchstring-seitenumbruch-erzeugen.html, php pdf durchsuchen, filehandler in php, php suchstring, html2fpdf seitenumbruch, pdf seitenumbruch, php filehandler klasse, php file handler, php suchstring zerlegen, pdf online durchsuchen php, datei öffnen und durchsuchen fopen php, pdf mit suchstring öffnen, pdf durchsuchen ohne öffnen, pdf seitenumbruch erzeugen, pdf html seitenumbruch, seitenumbruch pdf, pdf seitenumbruch string

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum