mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 05:55 Benutzername: Passwort: Auto-Login

Thema: regulärer ausdruck gesucht, um XML-tags zu formen vom 02.02.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> regulärer ausdruck gesucht, um XML-tags zu formen
Seite: 1, 2  Weiter
Autor Nachricht
huedrant
Threadersteller

Dabei seit: 13.11.2006
Ort: Aschaffenburg
Alter: -
Geschlecht: -
Verfasst Fr 02.02.2007 16:07
Titel

regulärer ausdruck gesucht, um XML-tags zu formen

Antworten mit Zitat Zum Seitenanfang

hallo!

ich habe hier eine textdatei, in der veranstaltungen eingetragen sind, und zwar immer nach dem gleichen schema:

Code:
bezeichnung: blabla
datum: blabla
ort: bla

bezeichnung: blabla2
datum: blabla2
ort: bla2


ich bin jetzt auf der suche nach einem regulären ausdruck, der mir die dateien so umformt, dass folgendes herauskommt:
Zitat:

<bezeichnung>blabla</bezeichnung>
<datum>blabla</datum>

etc.


mein bisheriger versuch sieht so aus:
Zitat:
"/bezeichnung/is"


kann mir da jemand helfen? ich möchte auf diese weise eine XML-datei erstellen, die ich in inDesign weiterverwenden kann.


Zuletzt bearbeitet von huedrant am Fr 02.02.2007 16:17, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Fr 02.02.2007 16:29
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
<?php

    $text = 'bezeichnung: blabla
datum: blabla
ort: bla

bezeichnung: blabla2
datum: blabla2
ort: bla2';

    foreach (explode("\n", $text) as $line) {
        echo preg_replace('/^([^\:]+): (.+)/', '<\1>\2</\1>', $line) . "\n";
    }

?>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
huedrant
Threadersteller

Dabei seit: 13.11.2006
Ort: Aschaffenburg
Alter: -
Geschlecht: -
Verfasst Fr 02.02.2007 21:02
Titel

Antworten mit Zitat Zum Seitenanfang

hey tacker!

cool, vielen dank für Deine schnelle antwort! das problem bei der lösung ist, dass ich leider nicht alles über die daten verraten habe: es gibt noch mehr felder, einige davon sind mehrzeilig und können auch Doppelpunkte enthalten. zb so:

Zitat:
beschreibung: wir machen das: blabla
nicht vergessen solltet ihr schuhe.


also eigentlich ein regulärer ausdruck, mit dem ich der reihe nach die felder abarbeiten kann. erst bezeichnung mit tags versehen, dann datum und so weiter. es sind etwa 14 verschiedene felder.
hm. geht das überhaupt mit regulären ausdrücken? oder muss ich da erst die zeilenumbrüche rausnehmen?
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Sa 03.02.2007 00:56
Titel

Antworten mit Zitat Zum Seitenanfang

Auch Zeilenumbrueche koennen Teil eines regulaeren Ausdrucks sein. Wie ist denn der genaue Aufbau deiner Daten -- dh woran genau erkennt man Anfang, Mitte und Ende eines Tupels?
  View user's profile Private Nachricht senden
huedrant
Threadersteller

Dabei seit: 13.11.2006
Ort: Aschaffenburg
Alter: -
Geschlecht: -
Verfasst Sa 03.02.2007 07:11
Titel

Antworten mit Zitat Zum Seitenanfang

hm. leider sind die daten recht durcheinander formatiert. ich kann das natürlich mit dem texteditor etwas reduzieren, indem ich mit suchen/ersetzen neue pseudotags einführe.
also, ich habe jetzt einfach folgenden aufbau:

Code:
<veranstaltung>
__datum__ 10.2.07
__beschreibung__ blablab bla

lba lblbl

bla
__zeit__ 24 uhr
</veranstaltung>


natürlich eben mit insgesamt 14 verschiedenen __pseudotags__

prinzipiell geht ein datensatz also von <veranstaltung> bis </veranstaltung>, dazwischen gehen die einzelnen felder immer von __pseudotag__ bis zum anfang des nächsten.

das müsste die sache doch deutlich vereinfachen, oder?


Zuletzt bearbeitet von huedrant am Sa 03.02.2007 07:12, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Sa 03.02.2007 13:37
Titel

Antworten mit Zitat Zum Seitenanfang

huedrant hat geschrieben:
das müsste die sache doch deutlich vereinfachen, oder?

Vermutest du einfach mal? Nee, du musst nix "vereinfachen". Eine eindeutige Beschreibung deiner Daten reicht normalerweise aus -- fatal ist nur, wenn sich dein Datenformat nach jeder Antwort wieder aendert!
  View user's profile Private Nachricht senden
huedrant
Threadersteller

Dabei seit: 13.11.2006
Ort: Aschaffenburg
Alter: -
Geschlecht: -
Verfasst Sa 03.02.2007 14:33
Titel

Antworten mit Zitat Zum Seitenanfang

also gut, jetzt bleibts ja dabei. vorher konnte man das echt nicht eindeutig beschreiben, das ist mir nach Deiner frage aufgefallen. darum hab ich's umgeformt. Meine Güte!

hm. also ein tupel ist

__ptag__ - daten - zeilenumbruch - __neues tag__

ich hatte nach dem post von tacker mal sowas ähnliches wie das hier zusammengebaut. aber das geht nicht (was mich jetzt nicht sehr verwundert, aber ich hab mit der regex-syntax einiges an verständnisschwierigkeiten):
Code:

/^([^\__]+)__(.+)/', '<\1>\2</\1>
  View user's profile Private Nachricht senden
schachbrett

Dabei seit: 11.10.2006
Ort: Köln
Alter: -
Geschlecht: Männlich
Verfasst Sa 03.02.2007 15:10
Titel

Antworten mit Zitat Zum Seitenanfang

Wenn du es eh geandert hast, warum nicht nach TAG DOPPELPUNKT BESCHREIBUNG ZEILENUMBRUCH? Dafuer hast du doch tackers Code schon gehabt * Keine Ahnung... *

Sind die <versanstaltungs>-Tags aus Version 20070302.0611 jetzt eigentlich deprecated???

Naja, mit regulaeren Ausdruecken hat jeder nicht-Autist anfangs Schwierigkeiten Lächel Versuchs doch mal so:

Code:
/^__(.+?)__(.+)/', '<\1>\2</\1>'


dh:
^ Zeilenanfang
__ zwei Unterstriche
(.+?) Klammern zum merken. Mindestens ein Zeichen irgendwas ausser was nach der Klammer steht (?)
__ zwei Unterstriche
(.+) Rest der Zeile
  View user's profile Private Nachricht senden
 
Ähnliche Themen Regulärer Ausdruck gesucht
[PHP] Regulärer Ausdruck gesucht
Kurzer regulärer Ausdruck für PHP gesucht
Regulärer Ausdruck für XML
Regulärer Ausdruck / Hilfe
SQL-Statement und regulärer Ausdruck
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.