![]() |
![]() |
|
![]() |
![]() |
|
Registrieren | Hilfe/Forumregeln | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343
|
![]() ich habe folgendes problem:
aus einer DB lese ich einen string aus, der z.b. so aussieht "blablabla_$var_blabla" diesen füge ich wo ein, davor habe ich jedoch der variable $var einen bestimmten wert gegeben, von dem ich nun möchte, daß er in dem eingefügten string aufgelöst aufscheint. geht das?
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret." Then he pulled the trigger of his BFG9000. |
![]() |
![]() |
![]() |
#2 |
Jr. Member
![]() |
![]() in deinem beispiel löst der interpreter $var_blabl als variable auf nicht $var... richtig wäre also "blabla_$var"."_bla" ( den . gibts doch in perl auch nicht nur in php oder?)
____________________________________
zivi:blog - das weblog für österreichische zivis |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() Die Frage ist wie Variabel es sein muss. Am einfachsten ist es, wenn als Variablenname nur z.B. "$var" vorkommt, und $var nur einmal im String vorkommt.
Das ginge in php mit: Code:
$result=str_replace ( "_$var_", $var, "blablabla_$var_blabla"); Code:
$varInDb="blablabla_$var_blabla"; $result=""; $startPos=strpos($varInDb,"_$"); if($startPos===false){ $result="Keine Variable vorhanden"; } else { $endPos=strpos($varInDb,"_",$startPos); $varName=substr($varInDb, $startPos, $endPos - $startPos); $result=substr($varInDb, 0, $startPos) . $$varName . $substr($varInDb, $endPos); } Ich kenn mich mit Perl leider nicht aus, vielleicht musst du mit unpack() und pack() arbeiten. Strings ersetzen geht dort irgendwie mit s/ersetzeDas/durchDas Du kannst dich auch mit folgenden Dingen spielen: $varInDb=~/_$[a-zA-Z]+_/ $` sollte dann "blablabla" sein $& sollte _$var_ sein $' sollte blabla sein Vielleicht helfen dir auch die Punkte 9-11 dort weiter: http://www.perl-archiv.de/perl/tutor...rl_start.shtml hth, Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|