Chance
Themenersteller
Programmierer
Guru (173 Beiträge)
RegX Problem, Zeilenumbruch
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
Vielleicht so:
/\\[\\$(.*?)\\$\\]([^\\[]*)\\[\\$(.*?)\\$\\](.*)/s
Chance
Programmierer
Guru (173 Beiträge)
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)
Folgender RegX funktioniert soweit, allerdings fehlen dann die weiteren Zeilen:
!\\[\\$(.*?)\\$\\][\\s]*(.*?)[\\n]!sS
gelöschter Benutzer
\\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)
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)
ich habe es jetzt anders gelößt, mit zusätzlichen Tags:
\\[\\$(.*?)\\$\\]\\[\\![\\s]*(.*?)\\!\\]
Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.
Beitrag erstellen
EinloggenKostenlos registrieren