regex
Emanuel
- php
Hallo und einen schönen Sonntag wünsche ich.
Mich quält ein Problem.
Aus diesen Zeilen möchte ich den Namen und die darauffolgende Zeichenkombination herrausfiltern.
1. tony MrC Kämpfer 585.569 157
2. Maddrax66 `°´ Wärter 452.124 143
...
...
Also tony und MrC
und in der nächsten Zeile Maddrax66 und `°´.
Ich dachte nun geh ich folgendermaßen an das Problem:
preg_match_all('~[a-zA-Z0-9]+[*]{,3}~',_OBJECT_,_AUSGABEARRAY_);
Irgendwie denke ich womöglich wieder mal viel zu kompliziert!
Was mache ich falsch? Und ist das überhaupt möglich?
Wo kann ich entsprechende Hilfe zum Nachschlagen bekommen?
Ich bin für jeden Hinweis sehr dankbar.
Danke
Emanuel
Aus diesen Zeilen möchte ich den Namen und die darauffolgende Zeichenkombination herrausfiltern.
1. tony MrC Kämpfer 585.569 157
2. Maddrax66 `°´ Wärter 452.124 143
...
...Also tony und MrC
und in der nächsten Zeile Maddrax66 und `°´.
Tach auch!
Also preg_match wär hier echt eher unangebracht.
Gib doch besser an, wie die "Zerteiler" auszusehen haben,
statt, wie der Inhalt aussieht.
---> preg_split
http://de.php.net/manual/en/function.preg-split.php
Aus diesen Zeilen möchte ich den Namen und die darauffolgende Zeichenkombination herrausfiltern.
1. tony MrC Kämpfer 585.569 157
2. Maddrax66 `°´ Wärter 452.124 143
...
...Also tony und MrC
und in der nächsten Zeile Maddrax66 und `°´.Tach auch!
Also preg_match wär hier echt eher unangebracht.
Gib doch besser an, wie die "Zerteiler" auszusehen haben,
statt, wie der Inhalt aussieht.---> preg_split
http://de.php.net/manual/en/function.preg-split.php
Problem an der ganzen Geschichte ist das ich nur diese beiden Werte (Zeichenketten) benötige. Der Rest kann ignoriert werden.
Und es handelt sich um einen kompletten String.
Das sind keine einzelnen Zeilen. Also 50 Zeilen in einem String.
Hi,
Problem an der ganzen Geschichte ist das ich nur diese beiden Werte (Zeichenketten) benötige. Der Rest kann ignoriert werden.
dann ignoriere sie anschließend.
Und es handelt sich um einen kompletten String.
Das sind keine einzelnen Zeilen. Also 50 Zeilen in einem String.
Also musst Du zwei mal zerteilen.
Cheatah
Und jetzt wirds kritisch:
43. Peili G H Pirat 397.328 120
Mit dieser Funktion zerlege ich den String in einzelne Teile.
$arr1 = preg_split("~[\s,]+~", $_POST['textarea'],-1,PREG_SPLIT_NO_EMPTY);
Leider auch G H.
Das ist eigentlich nicht gewünscht.
Kann ich dagegen etwas tun?
Hi,
$arr1 = preg_split("~[\s,]+~", $_POST['textarea'],-1,PREG_SPLIT_NO_EMPTY);
die Trenner der einzelnen Werte einer Zeile sind doch wohl hoffentlich Tabulatoren, oder? Wenn nicht: Wer zur Hölle hat sich das Datenformat ausgedacht?
Cheatah
Hi,
$arr1 = preg_split("~[\s,]+~", $_POST['textarea'],-1,PREG_SPLIT_NO_EMPTY);
die Trenner der einzelnen Werte einer Zeile sind doch wohl hoffentlich Tabulatoren, oder? Wenn nicht: Wer zur Hölle hat sich das Datenformat ausgedacht?
Cheatah
es handelt sich hierbei um eine Tabelle welche via Browser per Copy und Paste eingefügt wird. Ich habe leider nicht die Möglichkeit die Daten und oder das Format zu ändern.
es handelt sich hierbei um eine Tabelle welche via Browser per Copy und Paste eingefügt wird. Ich habe leider nicht die Möglichkeit die Daten und oder das Format zu ändern.
Ist's denn wenigstens gesichert, daß wirklich nur die eine Spalte auch Werte mit Leerzeichen enthalten kann?
Wenn ja, dann kannst Du immerhin noch über ein etwas komplizierteres preg_match da rangehen.
Wenn aber statt
43. Peili G H Pirat 397.328 120
auch z.B.
43. Pe ili G H Pi rat 397.328 120
erlaubt wäre, dann sieht's zappenduster aus.
Mir fällt gerad noch was ein:
Wie wär's, wenn Du nen vernünftigen Browser zum kopieren verwenden würdest?
Soweit ich weiß benutzt nur der IE Leerzeichen
zur Ersatzdarstellung beim Kopieren von Tabellen.
Der FF verwendet Tabulatorzeichen.
Mir fällt gerad noch was ein:
Wie wär's, wenn Du nen vernünftigen Browser zum kopieren verwenden würdest?Soweit ich weiß benutzt nur der IE Leerzeichen
zur Ersatzdarstellung beim Kopieren von Tabellen.
Der FF verwendet Tabulatorzeichen.
Ich habe es mit beiden ausprobiert. Keiner von beiden zeigt einen Unterschied.
es handelt sich hierbei um eine Tabelle welche via Browser per Copy und Paste eingefügt wird. Ich habe leider nicht die Möglichkeit die Daten und oder das Format zu ändern.
Ist's denn wenigstens gesichert, daß wirklich nur die eine Spalte auch Werte mit Leerzeichen enthalten kann?
Wenn ja, dann kannst Du immerhin noch über ein etwas komplizierteres preg_match da rangehen.
Wenn aber statt
43. Peili G H Pirat 397.328 120auch z.B.
- Pe ili G H Pi rat 397.328 120
erlaubt wäre, dann sieht's zappenduster aus.
Nein leider nicht! Dann muß ich wohl doch eine andere Möglichkeit finden.
gudn tach!
es handelt sich hierbei um eine Tabelle welche via Browser per Copy und Paste eingefügt wird. Ich habe leider nicht die Möglichkeit die Daten und oder das Format zu ändern.
wenn du noch die moeglichkeit hast, an die original-html-tabelle heranzukommen, nutze doch einfach den source code. dann hast du in den "<td>" bzw. <tr> sehr einfach trennstrings und brauchst nicht mal regulaere ausdruecke.
prost
seth