[GastForen Programmierung/Entwicklung PHP und MySQL preg_replace() und assoziative arrays

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

preg_replace() und assoziative arrays

Ollli
Beiträge gesamt: 458

18. Jul 2004, 19:15
Beitrag # 1 von 6
Bewertung:
(1088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Leutz,

ich bin da gerade auf ein Problem gestoßen und wollte mal fragen, ob da jemand eine Lösung hat, denn ich habe nichts im Netz gefunden (wer was hat, nur her damit).

Zum Problem:
Ich will mit Hilfe von preg_replace Platzhalter in einem String mit einem assoziativen Array verknüpfen:
--- Code ---
$vars["welt"] = "Hallo Welt";
$vars["ollli"] = "Hallo Ollli";
$string = "An die Welt: {var:welt}\nUnd für den Ollli: {vara:ollli}";
preg_replace("/\{\{var:(\w+)\}\}/",$vars["\\1"],$string);
--- Code:END ---

So, wie es da jetzt steht, funzt es nicht. Ich habe schon einige verschiedene Schreibformen versucht, doch keine hat funktioniert. Hat da jemand die Lösung parat?

Achso, ich bräuchte es eigentlich noch einen Zacken schärfer, da das ganze innheralb einer Klasse geschieht sind die Variablen nicht $vars[] sondern $this->vars[].

Ich freu mich auf Feedback :-)

Ollli
-----------
ja, es stimmt - es sind wirklich 3 "l" im Namen und ich bestehe auf jedes einzelne ;-)
X

preg_replace() und assoziative arrays

oesi50
  
Beiträge gesamt: 2315

18. Jul 2004, 20:17
Beitrag # 2 von 6
Beitrag ID: #97918
Bewertung:
(1088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi ollli,

wie wärs denn damit:

<?php
$vars["welt"] = "Hallo Welt";
$vars["ollli"] = "Hallo Ollli";
$string = "An die Welt: {var:welt}\nUnd für den Ollli: {var:ollli}";

$pattern[0] = "/\{var:welt\}/";
$pattern[1] = "/\{var:ollli\}/";

$repl[0] = "Hallo Welt";
$repl[1] = "Hallo Ollli";

echo preg_replace($pattern, $repl ,$string);
?>

Das pattern und das repl Array kannst Du ja leicht mit einer Schleife füllen.

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#97907]

preg_replace() und assoziative arrays

Ollli
Beiträge gesamt: 458

18. Jul 2004, 20:24
Beitrag # 3 von 6
Beitrag ID: #97919
Bewertung:
(1088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi oesi50,

ich hatte gehofft, alles in einem ruck zu machen, bzw. besteht auch die gefahr, dass die "reihenfolge" nicht immer stimmt. Gibt es noch eine andere Möglichkeit?

Aber danke für die Antwort, denn sie hat mich gleich so einer anderen Möglichkeit inspiriert, die leider auch nicht funktionierte ;-)

Ollli
-----------
ja, es stimmt - es sind wirklich 3 "l" im Namen und ich bestehe auf jedes einzelne ;-)


als Antwort auf: [#97907]

preg_replace() und assoziative arrays

oesi50
  
Beiträge gesamt: 2315

18. Jul 2004, 20:39
Beitrag # 4 von 6
Beitrag ID: #97921
Bewertung:
(1088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
versuch mal das:

echo preg_replace( "/\{var:(\w+)\}/e", '$vars["$1"]' ,$string);

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#97907]

preg_replace() und assoziative arrays

Ollli
Beiträge gesamt: 458

18. Jul 2004, 21:52
Beitrag # 5 von 6
Beitrag ID: #97923
Bewertung:
(1088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Funzt - super!

Ich bin mir sicher, dass ich es so auch schon probiert habe, allerdings ohne das /e.
Sofern du noch Zeit und Lust hast wäre es super, wenn du mir kurz das "e" erklären könntest und mir auch sagen könntest, warum es dadurch funktioniert.

In der Klasse funktioniert es auch! *freu*

Danke nochmal und schönen Sonntag Abend noch!
Ollli
-----------
ja, es stimmt - es sind wirklich 3 "l" im Namen und ich bestehe auf jedes einzelne ;-)


als Antwort auf: [#97907]

preg_replace() und assoziative arrays

oesi50
  
Beiträge gesamt: 2315

18. Jul 2004, 22:08
Beitrag # 6 von 6
Beitrag ID: #97927
Bewertung:
(1088 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich kenne das e(eval) auch nur von Perl, dort wird damit die Ersetzung als Perl Code evaluiert. Da ja preg_ die geklauten regexes von Perl sind, hab ich mir gedacht, in PHP wird's dann auch so gehen.


Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)


als Antwort auf: [#97907]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/