gelöschter Benutzer

RegX Problem, Zeilenumbruch

am 23.01.2012, 21:35 Uhr eröffnete 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



gelöschter Benutzer
am 24.01.2012, 10:53 Uhr schrieb

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.



gelöschter Benutzer
am 24.01.2012, 15:41 Uhr schrieb

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::]

[|-->]
)



gelöschter Benutzer
am 24.01.2012, 21:03 Uhr schrieb

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]*(.*?)



gelöschter Benutzer
am 25.01.2012, 22:10 Uhr schrieb

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


  • 1


« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5272 Themen und 36104 Beiträge.
Insgesamt sind 496 Mitglieder registriert.