![]() |
![]() |
|
|
|||||||
| 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) | |
|
|