zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden [Gelöst] Problem mit preg_replace()

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 21.05.2011, 16:08
ofHouse
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 20.04.2011
Beiträge: 128
Borsti befindet sich auf einem aufstrebenden Ast
Standard [Gelöst] Problem mit preg_replace()

Hallo,

irgendwie komme ich gerade nicht weiter.

Ich parse Daten von einer Seite und mache sie mit preg_replace einheitlich, damit ich sie später auslesen kann.

Das geht soweit ganz gut, bis auf folgendes:
Der Code, den es matchen soll ist folgender:
Code:
<div style="position:absolute; top: 23px; left: 23px; width: 604px; letter-spacing: 0,23pt; text-align: left; font: italic bold 12pt arial; text-decoration: underline; color: #000000">Vertretung für Klassen:                                       STAND: 18.05.2011, 9:27</div>
Wobei Datum und Uhrzeit variabel sind.
Der Regex dazu:
Code:
<div*[^>]+>\s*?Vertretung für Klassen:\s*?STAND:\s*?(\d?\d\.\d?\d\.\d\d\d\d),\s*?(\d?\d:\d\d)\s*?<\/div>
Wenn ich das Ganze mit folgendem Tool (Das Tool fr Regular Expressions) teste, bekomme ich das gewünschte raus, nur in meinem PHP-Script "überließt" er es einfach.

Keine Fehlermeldung, er matcht es einfach nicht, weiß jemand woran das liegen könnte?
__________________
LG f

@ofhouse

Geändert von Borsti (21.05.2011 um 17:46 Uhr) Grund: Gelöst
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 21.05.2011, 16:56
Benutzer
neuer user
 
Registriert seit: 18.05.2011
Beiträge: 38
CyberGirl befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

so geht es bei mir.
Code:
<?php

 $search = "<div style=\"position:absolute; top: 23px; left: 23px; width: 604px; letter-spacing: 0,23pt; text-align: left; font: italic bold 12pt arial; text-decoration: underline; color: #000000\">Vertretung für Klassen:                                       STAND: 18.05.2011, 9:27</div>";

 $reqepr = "|<div*[^>]+>\s*?Vertretung für Klassen:\s*?STAND:\s*?(\d?\d\.\d?\d\.\d\d\d\d),\s*?(\d?\d:\d\d)\s*?<\/div>|";

 if (preg_match($reqepr, $search))
 {
    echo "alles ok";
 }
 else
 {
    echo "not found";
 }

?>

LG
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 21.05.2011, 17:36
ofHouse
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 20.04.2011
Beiträge: 128
Borsti befindet sich auf einem aufstrebenden Ast
Standard

Danke @Cybergirl.

Ja soweit funktioniert das

Ich habe jetzt nochmal ein bisschen rumprobiert, es lag wohl am "ü" in dem Preg-Replace Ausdruck.

Ich habe jetzt den zu matchenden Code vorher in den UTF-8 wandler geschickt, dann hat's geklappt.

Es ist in dem Fall ein bisschen schwer, weil ich die Daten nicht direkt so schön übergeben bekomme, sondern die Daten von einem Verbrecherprogramm namens Paperless Printer bekomme.

hab's jetzt so gelöst:
PHP-Code:
<?php
$data 
utf8_encode(html_entity_decode(strtolower('<DIV STYLE="position:absolute; top: 23px; left: 23px; width: 614px; letter-spacing: 0,23pt;; text-align: left; font: italic bold 12pt Arial; text-decoration: underline; color: #000000"Nowrap>Vertretung für Klassen:                                       STAND: 20.05.2011, 11:23</DIV>'),ENT_COMPAT,"ISO-8859-1"));

echo 
$data."<br /><br />";
 
$search = array(
    
=> "/<div*[^>]+>\s*?Vertretung für Klassen:\s*?STAND:\s*?(\d?\d\.\d?\d\.\d\d\d\d),\s*?(\d?\d:\d\d)\s*?<\/div>/");
$replace = array(
    
=> "");
    
$data preg_replace($search,$replace,$data);

    echo 
$data;
?>
__________________
LG f

@ofhouse
Mit Zitat antworten
  #4 (permalink)  
Alt 21.05.2011, 17:39
Benutzer
neuer user
 
Registriert seit: 18.05.2011
Beiträge: 38
CyberGirl befindet sich auf einem aufstrebenden Ast
Standard

Hallo Borsti,

schön daß es funktioniert.
Wie machst Du es daß Dein Code farbig erscheint?

LG
Mit Zitat antworten
  #5 (permalink)  
Alt 21.05.2011, 17:45
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Neben dem Tag für Code, gibts auch noch Schaltflächen für HTML und PHP
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #6 (permalink)  
Alt 21.05.2011, 17:50
Benutzer
neuer user
 
Registriert seit: 18.05.2011
Beiträge: 38
CyberGirl befindet sich auf einem aufstrebenden Ast
Standard

Hallo Praktikant,

Danke. Hatte ich tottal übersehen.
Mit Zitat antworten
Antwort


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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Text neben Navigationsleiste andi01 CSS 6 08.06.2011 16:54
[Gelöst] Problem mit überlappenden Bildern JimiJones CSS 4 01.04.2011 14:45
Problem: Nur der FF zeigt input-Felder korrekt an (inkl Demo) Paeda CSS 1 04.02.2007 23:18
[GELÖST] Problem mit Eventkalender Tigereye Serveradministration und serverseitige Scripte 8 26.10.2005 15:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:52 Uhr.