phpbar.de logo

Mailinglisten-Archive

[php] Regex Problem (OT)

[php] Regex Problem (OT)

Roland Braband r.braband at web.de
Don Mar 11 11:54:59 CET 2004


Hi,

sorry für den vieleicht nicht geeingneten Tonfall,
doch einen gewissen Anspruch auf richtigkeit
hat die Theorie mit den OT schon ;)
Vieleicht war mit einfach das ausbleiben
konkreter Antworten, im gegensatzt zu der Masse
an Beteiligung bei dem einem oder 
anderen OT/NuuB Themen,
der 'Kragen geplatzt'. Entschuldigung dafür :)

Aber um das ganze nochmal zu beleben
eine etwas umgestellte Aufgabe:

Ich möchte eine Kommataseparierte-Liste
(CSV-Format) überprüfen.
Und zwar dahingehen das das Format
nach bestimmten Regeln eingehalten wird.

In dieser Liste dürfen innerhalb
eines Abschnits (Kommatasepariert) nur Integer oder Strings
in 'singel Quotes' auftauchen:

1,2,'test',3,'richtig'    => true
1,2,'test',3,falsch      => false
1,2.1,'test',3,'richtig' => false

Es dürfen auch leerzeichen vor und nach einem Kommata stehen.

1,2,'test',3,'richtig'       => true
1,2 , 'test',3, 'richtig'    => true

Inhalte dürfen nicht gemischt werden.

1,2,'test',3,'richtig'        => true
1,2,12'test',3,'richtig'    => false
... bis hierhin immer eine exeption werfen!

Das Hauptproblem ist nun das ich die enthaltenen String
überprüfen möchte und gegebenfalls korrigiere,
wenn sie nicht geslashte singel Quotes beinhalten.

1,2,'test',3,'richtig fettes essen'         => true
1,2,'test',3,'richtig 'fettes' essen'        => false
muss also in korrigiert werden, aber ohne exeption:
1,2,'test',3,'richtig \'fettes\' essen'      => true 

Außerdem ist zu beachten das innerhalb von Strings
auch Php-Code erlaubt ist!

1,2,'test',3,'$richtig = true; echo $richtig;'                       => true
1,2,'test',3,'$richtig = \'fettes essen\''                               => true
1,2,'test',3,'$richtig = \'"fettes" essen\''                             => true
1,2,'test',3,'$richtig->essen(\'fettarmes\', \'essen\', true)'    => true
... auch hier sollten Fehler keine exeption werfen
sondern korrigiert werden!

Vieleicht kann mir ja jemand dabei Helfen

@Thomas,
ich habe dir die Original Mail nochmal zugeschickt ;)

Gruss,
Roland Braband

php::bar PHP Wiki   -   Listenarchive