php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-12-2006, 21:08
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard preg_match_all mag meinen String nicht

Hallo!

Zunächst will ich beilegen, dass ich nicht viel Erfahrung mit Regulären Ausdrücken habe. Jedoch wie folgt, ich habe den String:

Code:
...
X-Virus-Scanned: scanned for viruses... should be clean
','Ganz viel text
Aus mehreren
ZEILEN
Drei veir

23

'),('2108',,'Return-Path: 
...
Wobei die Zeilenumbrüche jeweils ein \n sind. Ich versuche jetzt, den Text zwischen ',' und ') rauszufiltern, aber eben mit den Zeilenumbrüchen. Ich lese das Manual schon zum zehnten mal, und sonst find ich auch nix was mir weiterhilft.

Mein Ansatz ist:

PHP-Code:
preg_match_all("/clean *\n*(.*\n)*'\)/",$sql,$tempmails); 
($sql --> Der String da oben)

Merkwürdigerweise wird beim ') aber nicht gestoppt, sondern alles bis zum ende des Strings mit gematcht. Jemand ne idee? Was mache ich falsch?

Danke im Voraus!
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #2 (permalink)  
Alt 12-12-2006, 21:12
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

http://regexp-evaluator.de/evaluator...ce5c/#ergebnis
Mit Zitat antworten
  #3 (permalink)  
Alt 12-12-2006, 21:21
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Ich blick nicht mehr durch. Selbst wenn ich das komplette php-script von deinem Link in mein Script kopiere.. äh - warte. Nagut dann gehts! Aber sobald ich als Subject den String einsetze den ich als Ursprung habe, wird wieder alles danach mitausgegeben (so wie ich es vorher schon hatte)

Kanns sein das da was mit den Zeilenumbrüchen nicht stimmt?
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #4 (permalink)  
Alt 12-12-2006, 22:45
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja. und es kann auch an der relativen mondfeuchtigkeit liegen sowie an der teilbarkeit des wochentags durch vier.
Mit Zitat antworten
  #5 (permalink)  
Alt 12-12-2006, 22:58
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Echt?

Ich wunder mich doch nur, wenn ich den Teilstring benutze den ich hier gepostet hab funktioniert das ganze, wenn ich allerdings den kompletten string gehts aufeinma nichmehr, das muss doch n logischen Grund haben den ich nicht kenne?
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #6 (permalink)  
Alt 12-12-2006, 23:08
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

\n kannst du weglassen, stattdessen modifier "s" benutzen.
der modifier "s" matcht dann .* auch über zeilenumbrüche hinweg.
außerdem solltest du noch den modifier "U", wie ungierig benutzen

dann sollte alles passen
Mit Zitat antworten
  #7 (permalink)  
Alt 12-12-2006, 23:24
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Hallo 3DMax und danke für deine Antwort.

Ich bin jetzt momentan bei

PHP-Code:
preg_match_all("/clean *(\s)*\'\)/",$sql,$tempmails); 
Allerdings wird anstatt zuviel, jetzt gar nichts mehr angezeigt? Das mit dem U habe ich nicht verstanden. Gibts den wirklich? Wenn nein verstehe ich den Witz nicht
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
  #8 (permalink)  
Alt 12-12-2006, 23:52
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ArSeN
Allerdings wird anstatt zuviel, jetzt gar nichts mehr angezeigt?
verständlich
Suchmuster-Modifikatoren da hast du auch noch eine erklärung für U.
ansonsten gehören modifikatoren an das ende des regex: '/_reg_ex_/modifikatoren'



Zitat:
Original geschrieben von ArSeN
Das mit dem U habe ich nicht verstanden. Gibts den wirklich? Wenn nein verstehe ich den Witz nicht
kein witz:
8.13. Hilfe, mein Regulärer Ausdruck frißt zuviel!
Mit Zitat antworten
  #9 (permalink)  
Alt 13-12-2006, 00:01
ArSeN
 Registrierter Benutzer
Links : Onlinestatus : ArSeN ist offline
Registriert seit: Feb 2006
Ort: Berlin
Beiträge: 1.052
ArSeN ist zur Zeit noch ein unbeschriebenes Blatt
ArSeN eine Nachricht über ICQ schicken ArSeN eine Nachricht über AIM schicken ArSeN eine Nachricht über Yahoo! schicken
Standard

Aaaaaaah!

An meiner obigen Interjektion erkennst du wahrscheinlich das es nun Funktioniert. Die Lösung heißt (oder zumindest eine):

PHP-Code:
preg_match_all("/clean.\',\'(.*)\'\)/sU",$sql,$tempmails); 
Ich danke euch recht herzlich!
__________________
Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:26 Uhr.