PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String einer Variablen zuweisen...



h2o471
15-11-2006, 10:19
Hallo,

ich habe folgendes Problem mit einem Datenbankoutput:

Ich rufe aus einer Datenbank Postings ab die ungefähr so aussehen
"Text blabla, irgendwas....#dateianfang#unterlagen.zip#dateiende #blablabla....."

Da ich Tags nicht direkt zulasse, schreibt der User "#dateianfang#unterlagen.zip#dateiende#"
in den Text und daraus entsteht dann ein Link zu der Datei.
Wie stelle ich es an, das ich den Text so zerschneide und "unterlagen.zip" einer
Variablen zuweisen kann? Im Moment replace ich nur die beiden Platzhalter so,
dass ein Link entsteht. Von vorne und hinten aus einfach die Platzhalterpositionen
zu zählen bringt auch nichts, weil es davon mehrere geben kann.

Vielleicht könnt Ihr mit weiterhelfen.
Danke
Grüße aus Heidelberg
Mirko Jerschabek

nEox
15-11-2006, 13:02
Hallo,

mit "Regulären Ausdrücken" (http://de.wikipedia.org/wiki/Regex).

\#dateianfang\#(.*)\#dateiende\#
Die Funktion in PHP wäre dann: preg_match (http://de.php.net/preg_match)

Grüße,
nEox

Romanday
17-11-2006, 07:02
\#dateianfang\#(.*)\#dateiende\#

Grüße,
nEox

.* frißt #
-> Kalte Lötstelle :D

nEox
17-11-2006, 13:03
.* frißt #
-> Kalte Lötstelle :D
Stimmt, den Modifier U muss man dann halt noch selbst setzen :)
Wenn man komplett alles vorgekaut bekommt macht's ja keinen Spass mehr ;)

@Mirko
Wenn du da hängen solltest. Die Antwort findest du auf dieser Seite:
http://de3.php.net/manual/de/reference.pcre.pattern.modifiers.php

Grüße,
nEox

Romanday
17-11-2006, 13:27
Es kann ja mal eine online Demo posten.
So zum ausprobieren ... :D

tschloss
29-11-2006, 22:08
Vielleicht isrt auch das PEAR-Modul text_wiki interessant für dich:
http://pear.php.net/package/Text_Wiki

Greetz
Thomas

BlueJay
03-12-2006, 11:15
Die Sache mit den reguären Ausdrücken ist wie mit Kanonen auf Spatzen geschossen. Split ist die Funktion der Wahl, und sie funktioniert gerade mit Gartenzäunen und Sternen hier schon seit Jahren recht gut.

so long,
uja

Romanday
03-12-2006, 16:32
Die Sache mit den reguären Ausdrücken ist wie mit Kanonen auf Spatzen geschossen. Split ist die Funktion der Wahl, und sie funktioniert gerade mit Gartenzäunen und Sternen hier schon seit Jahren recht gut.

so long,
uja

split -- Split string into array by regular expression

split greift auf dieselbe REGEX Lib zu.:D
Wer Spaß dran hat nimmt halt split, obwohl ich bezweifle das der
Geschwindigkeitsunterschied zu den PREG Funktionen bei identischen regulären Ausdruck, groß ist.
Anders wird es bei explode aussehen. (Wieder eine andere LIb!)


Ich dachte da kommt mal Feedback vom Autor der Frage...
Wenn man es richtig machen möchte, ist das nicht so einfach.
(Die Daten kommen ja von außerhalb.)

BlueJay
03-12-2006, 21:09
http://de3.php.net/manual/en/function.preg-split.php

blauer Kasten (Tip)