title image


Smiley Textdatei durchsuchen, Bereiche finden, Regex Experten gesucht?
Hallo zusammen,

ich sollte eine Textdatei nach bestimmte Bereiche durchsuchen.

In der Datei gibt es viele ähnliche Zeilen.

Letztendlich brauche ich alles zwischen den Zeilen

"*OpenGroup: InstallableOptions/"

und

"*CloseGroup: InstallableOptions"

steht.

Mein erster "preg_match" nach #(\*OpenGroup: InstallableOptions/)# funktioniert.

Jetzt würde ich aber gerne alles herausfinden was zwischen den weiteren

"*OpenUI \*Option"

und

*CloseUI: \*Option

steht.



Das klappt so aber nicht.

preg_match("#(\*OpenUI \*Option (.*?) \*CloseUI: \*Option)m#", $string1, $contents, PREG_OFFSET_CAPTURE, $offset)



Kann mir jemand einen Tipp geben?

ISt mein Ansatz vielleicht falsch?

vielen Dank

Gruss

hawk



So habe ich es mal versucht.

----------------------------------------

function findoptions($filename)

{

if (is_file($filename))

{

$fp = fopen( $filename, 'r');

$string1 = fread($fp, filesize($filename));

fclose($fp);

if (preg_match_all("#(\*OpenGroup: InstallableOptions/)#", $string1, $contents))

{

echo "Gefunden Open Group " ;

$offset = strpos($string1, "*OpenGroup: InstallableOptions/");

}

if (preg_match("#(\*OpenUI \*Option (.*?) \*CloseUI: \*Option)m#", $string1, $contents, PREG_OFFSET_CAPTURE, $offset))

....



Die Textdatei

-----------------------------------------------------------------------------

.....

OpenUI *Option........

....

*OpenGroup: InstallableOptions/Installierbare Optionen



*OpenUI *Option1/Optionales Magazin: PickOne

*DefaultOption1: None

*Option1 None/Nicht installiert: ""

*Option1 1Cassette/Magazin 3 (LCT): ""

*Option1 2Cassette/Magazin 3 und 4: ""

*?Option1: "

save

currentpagedevice /InputAttributes get dup

{pop (2Cassette)}

{

{pop (None)}ifelse

} ifelse

*End

*CloseUI: *Option1



*OpenUI *Option3/Bypass: PickOne

*DefaultOption3: False

*Option3 False/Nicht installiert: ""

*Option3 True/Installiert: ""

*?Option3: "

save

*End

*CloseUI: *Option3



*OpenUI *Option10/Duplexeinheit: PickOne

*DefaultOption10: False

*Option10 False/Nicht installiert: ""

*Option10 True/Installiert: ""

*?Option10: "

save

statusdict /duplex get

{(True)}{(False)}ifelse = flush

restore

"

*End

*CloseUI: *Option10



*OpenUI *Option20/Interne Ablage 2: PickOne

*DefaultOption20: False

*Option20 False/Nicht installiert: ""

*Option20 True/Installiert: ""

*?Option20: "

save

mark

currentpagedevice /OutputAttributes get dup 2 known

restore

"

*End

*CloseUI: *Option20





*OpenUI *Option30/Finisher: PickOne

*DefaultOption30: None

*Option30 None/Nicht installiert: ""

*Option30 Fin500/Finisher 500: ""

*Option30 Fin1000/Finisher 1000: ""

*?Option30: "

save

mark

"

*End

*CloseUI: *Option30



*CloseGroup: InstallableOptions

.........

.....



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: