Hallo, Tobias,
ich habe einen Text und möchte immer nur einen bestimmten Teil
daraus, Name und Vorname.
Mein Text siehts so aus:
…
ich möchte jetzt als ergebnis nur:
Hans-Peter Müller
Stefan Mayer
… und so weiter
ich denke das geht mit regulären Ausdrücken aber ich hab jetzt
schon ewig rumprobiert und google 2 stunden, … ich verstehs
einfach nicht??
Kann mir vielleicht jemand helfen?
Als Programm hab ich Dreamweaver oder nen Texteditor.
Dreamweaver & Texteditor? Aber Du meinst schon PHP, oder?
Also ich würde das nicht mit regulären Ausdrücken machen,
da die Daten bereits ein bestmmtes Format haben. Erstens
sind es CSV (comma separated value) getrennte Records
und jeder Record ist nochmal mit ‚:‘ getrennt. Das
sollte man auch genauso angehen. Also erst nach ‚,‘
zerlegen (splitten) und dann nach ‚:‘. Also etwa so:
…
$text = preg_replace(’/[\n\r]/’, ‚‘,
‚Name/Vorname:
Hans-Peter Müller,Alter:36Jahre,Wohnort:Berlin,
Name/Vorname:Stefan Mayer,Alter:87,Wohnort:München,…‘
); # Zeilenwechsel \n entfernen
$name = ‚Name/Vorname‘;
$altr = ‚Alter‘;
$wohn = ‚Wohnort‘;
foreach( preg_split(’/,/’, $text) as $record) { # String in Records zerlegen
$data = preg_split(’/:/’, $record); # Record in 2 Felder zerlegen
switch( $data[0] ) { # erstes Feld - Kennnung:
case $name: echo „$data[1]\n“; break; # zweites Feld Inhalt:
case $altr: echo „$data[1]\n“; break;
case $wohn: echo „$data[1]\n“; break;
}
}
…
Grüße
CMБ