SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 21.04.2012, 21:37:14
BuddyHolly BuddyHolly ist offline
Anfänger
 
Registriert seit: Apr 2012
Alter: 47
Beiträge: 3
Anfänger-Problem mit preg_match()

Hallo Forum!

Vorab: Ich habe gerade erst begonnen mich mit php zu beschäftigen. Ich bitte um ein wenig Nachsicht ;-)

Problem:
Ich erhalte meinen Dienstplan als *.html-Datei. Diese möchte ich in meinem Skript zerlegen und in einer Datenbank speichern.
Leider ist dieser Dienstplan manchmal ein- und manchmal zwei-seitig.

Die gesamte Datei habe ich zeilenweise in ein Array namens $zeile eingelesen. Die Datumszeile beginnt immer mit
Code:
<th width="
... der Rest der Zeile ist variabel.

Bei einem einseitigen Dienstplan funktioniert alles und ich habe die Daten im Array mit unset() und array_values() soweit gelöscht, dass nur noch der Rest (also der Inhalt der ggf. zweiten Seite) übrig ist.

Nun möchte ich prüfen, ob es sich um einen zweiseitigen Dienstplan handelt ... also ob in dem verbleibendem Array der Code "th with=", der eine weitere Datumszeile einleiten würde, noch einmal vorkommt.

Dies habe ich wie folgt programmiert:
PHP-Code:
$rest count($zeile);
    
$zweiterPlan 0;
    for (
$i 0$i $rest$i++){
        if (
preg_match('/th width=/'$zeile[$i] == TRUE)){
            
$zweiterplan 1;
        }
    } 
Leider bekomme ich immer das Ergebnis 0 in der Variablen $zweiterplan, obwohl die Zeichenkette in $zeile[135] vorkommt!

Wo liegt mein Fehler?

Danke für Eure Hilfe,
BuddyHolly
Mit Zitat antworten
  #2  
Alt 22.04.2012, 06:09:52
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Anfänger-Problem mit preg_match()

Zitat:
Zitat von BuddyHolly Beitrag anzeigen
PHP-Code:
....
    
$zweiterPlan 0;
    
    
$zweiterplan 1
Hier liegt dein Fehler.
Mit Zitat antworten
  #3  
Alt 22.04.2012, 08:36:04
BuddyHolly BuddyHolly ist offline
Anfänger
 
Registriert seit: Apr 2012
Alter: 47
Beiträge: 3
AW: Anfänger-Problem mit preg_match()

Hallo Urvater,

danke für die Antwort. Leider funktioniert es auch nach Korrektur des Tippfehlers nicht :-(

Hast Du oder jemand anders noch eine Idee?

Vielen Dank,
BuddyHolly
Mit Zitat antworten
  #4  
Alt 23.04.2012, 00:14:39
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Anfänger-Problem mit preg_match()

Zitat:
Zitat von BuddyHolly Beitrag anzeigen
PHP-Code:
$rest count($zeile);
    
$zweiterPlan 0;
    for (
$i 0$i $rest$i++){
        if (
preg_match('/th width=/'$zeile[$i])){
            
$zweiterPlan 1;
        }
    } 
Ungetestet. Nach php.net sollte es so funktionieren, wenn $zeile[$x] tatsächlich den Inhalt besitzt.
Zitat:
Tipp

Verwenden Sie nicht preg_match(), wenn Sie nur überprüfen wollen, ob eine Zeichenkette in einer anderen Zeichenkette enthalten ist. Verwenden Sie dafür stattdessen die Funktionen strpos() oder strstr(), die das schneller erledigen.
Findet man auch auf php.net
Mit Zitat antworten
  #5  
Alt 23.04.2012, 11:44:19
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Anfänger-Problem mit preg_match()

Zitat:
Zitat von BuddyHolly Beitrag anzeigen
Dies habe ich wie folgt programmiert:
PHP-Code:
$rest count($zeile);
    
$zweiterPlan 0;
    for (
$i 0$i $rest$i++){
        if (
preg_match('/th width=/'$zeile[$i] == TRUE)){ # Quark
            
$zweiterPlan 1# Tippfehler korrigiert
        
}
    } 
Leider bekomme ich immer das Ergebnis 0 in der Variablen $zweiterplan, obwohl die Zeichenkette in $zeile[135] vorkommt!
Das mag sein, allerdings übergibst Du im 2. Parameter von preg_match() nicht den Inhalt von $zeile[$i] sondern das boolsche Ergebnis des Vergleichs von $zeile[$i] und der Konstante true auf Gleichheit. Das Ergebnis ist zwar true, aber in dem boolschen Wert findest Du keine Zeichenketten.

PHP-Code:
if (preg_match('/th width=/'$zeile[$i]) == TRUE
hätte da mehr Chancen.
Mit Zitat antworten
  #6  
Alt 30.04.2012, 12:23:38
BuddyHolly BuddyHolly ist offline
Anfänger
 
Registriert seit: Apr 2012
Alter: 47
Beiträge: 3
AW: Anfänger-Problem mit preg_match()

Super! Jetzt funktioniert es!

Vielen Dank für die Hilfe & Grüße,
BuddyHolly
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit MySQL in Typo3-CMS yamukud MySQLi/PDO/(MySQL) 0 09.10.2009 14:21:18
Kleines Anfänger "PHP - echo Link + window.open" Problem mate PHP Grundlagen 3 29.07.2009 12:24:55
Problem bei der Vernetzung von MySQL Servern jfMill MySQLi/PDO/(MySQL) 2 01.07.2009 16:21:57
Subquery Problem (Verständnis?) newgame MySQLi/PDO/(MySQL) 1 29.05.2009 23:01:27
Links zählen - Problem mit While Schleife Rick11 PHP für Fortgeschrittene und Experten 7 10.07.2008 19:05:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:01:55 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt