Chance
Themenersteller
Programmierer
Guru (173 Beiträge)

RegX Problem, Zeilenumbruch

am 23.01.2012, 21:35 Uhr eröffnete Chance folgenden Thread
PHP & MySQL    2298 mal gelesen    6 Antwort(en).

Ich habe folgendes Problem:

Mit dem RegX Code: !\[\$(.*?)\$\](.*?)\n!sS Versuche ich folgende Zeilen als Arrays auszulesen (Auszug):


[$AdminModulCacheBit$]
 {$hash} 
 {$path} 
 {$created} 
 {$lengh} 

[$AdminModulCacheDelete$][<--|][::AdminModulCacheDeleteTitle::][|--|]

[::AdminModulCacheDeleteCont::]

[|-->]


Das Auslesen des zweiten klappt ohne Probleme.
Aufgrund des Zeilenumbruchs wird aber kein Inhalt für das erste ausgelesen.

ich steh irgenwie im Walde , wie kann ich das erste korrekt auslesen ?



gelöschter Benutzer
am 24.01.2012, 00:45 Uhr schrieb

Vielleicht so:

/\\[\\$(.*?)\\$\\]([^\\[]*)\\[\\$(.*?)\\$\\](.*)/s


Chance
Programmierer
Guru (173 Beiträge)
am 24.01.2012, 10:53 Uhr schrieb Chance

Danke, das ist ungeführ das, was ich suche, allerdings in der Ausgabe etwas unhandlich...

Bei meinem RegX ist ja nur das Problem, das die Zeilenumbrücke falsch verwertet werden, und die nächsten Zeilen nicht gelesen werden.


Chance
Programmierer
Guru (173 Beiträge)
am 24.01.2012, 15:41 Uhr schrieb Chance

Folgender RegX funktioniert soweit, allerdings fehlen dann die weiteren Zeilen:
!\\[\\$(.*?)\\$\\][\\s]*(.*?)[\\n]!sS



gelöschter Benutzer
am 24.01.2012, 17:18 Uhr schrieb

\\n ist der Zeilenumbruch bei Linux. Wenn du Windows verwendest ist es \\r \\n und bei Mac \\r.
Wie genau soll den dein Array aussehen?

Diese Pattern würde dir diese Ausgabe erzeugen, wenn es das ist was du suchst?

/\\[\\$(.*?)\\$\\](.*)\\[\\$(.*?)\\$\\](.*)/s


Array
(
[0] => [$AdminModulCacheBit$]
{$hash}
{$path}
{$created}
{$lengh}

[$AdminModulCacheDelete$][<--|][::AdminModulCacheDeleteTitle::][|--|]

[::AdminModulCacheDeleteCont::]

[|-->]
[1] => AdminModulCacheBit
[2] =>
{$hash}
{$path}
{$created}
{$lengh}


[3] => AdminModulCacheDelete
[4] => [<--|][::AdminModulCacheDeleteTitle::][|--|]

[::AdminModulCacheDeleteCont::]

[|-->]
)


Chance
Programmierer
Guru (173 Beiträge)
am 24.01.2012, 21:03 Uhr schrieb Chance

Der RegX funktioniert leider nicht mit dem kompletten Template, das ich benutze.

Das probelm an meinem RegX ist, das nur eine Zeile genommen wird, anstatt bis zum nächsten auftreten...
\\[\\$(.*?)\\$\\][\\s]*(.*?)


Chance
Programmierer
Guru (173 Beiträge)
am 25.01.2012, 22:10 Uhr schrieb Chance

ich habe es jetzt anders gelößt, mit zusätzlichen Tags:
\\[\\$(.*?)\\$\\]\\[\\![\\s]*(.*?)\\!\\]


  • 1


« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5273 Themen und 36107 Beiträge.
Insgesamt sind 48345 Mitglieder registriert.