RegExp: Teile eines Suchstrings in den Variablennamen einfügen
MSVerweigerer
- php
Hallo zusammen!
via preg_replace wird in einem String nach einem regulären Ausruck gesucht und dieser ersetzt. Das Problem dieser Geschichte ist, dass weiter vorne in einer Variable $imgX_type (X = 1-5) das Dateiformat definiert wird.
Das Ersetzen will ich so anstellen, dass dann auch die Variable $imgX_type vorkommt (gehen wir davon aus, dass X in \3 enthalten ist). Um meinen Wunsch noch anders zu schreiben: Das Ersetzen soll dieses Ergebnis bringen: ... $img\3_type ...
Welche Möglichkeiten habe ich da, dass das Ergebnis dann nicht so aussieht: "X_type" ?
Vielen Dank für jede schnelle Hilfe!
Moin,
Das Ersetzen will ich so anstellen, dass dann auch die Variable $imgX_type vorkommt (gehen wir davon aus, dass X in \3 enthalten ist). Um meinen Wunsch noch anders zu schreiben: Das Ersetzen soll dieses Ergebnis bringen: ... $img\3_type ...
Der Modifizierer e sorgt dafür, dass das was als Ersatzstring angegeben ist als PHP-Code ausgeführt (nach dem Ersetzen der Backreferences) und das Ergebnis zur Ersetzung verwendet wird. (Damit sehr vorsichtig sein!)
In PHP-Code kannst du auf Variablen deren Namen als Ausdruck verfügbar ist über ${ausdruck} (also zum Beispiel ${"img".$X."type"}) zugreifen.