ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
574
574
EMPFEHLEN
-
Ich stehe gerade vor einem mehr oder weniger kleinem Problem.
Ich habe einen Text in einer Variable in dem wiederum einige Variablen definiert sind.
Die Variablen im Text sind so definiert: [@variablenname]
Jetzt durchsuche ich diesen Text via preg_replace und jetzt kommt das Problem ich möchte den Teil mit [@variablenname] durch den Inhalt eben dieser Variable (also im Skript $variablenname) ersetzen.
Ich kann leider kein Array aus bestimmten Variablen verwenden die ich ersetzen will, da ich das Ganze so allgemein wie möglich halten will, da ich es öfter benötige.
PHP-Code:$anrede = "Anrede";
$vName = "Vorname";
$nName = "Nachname";
$email = aaa@bbb.ccc;
$msg = "Inhalt Nachricht";
$text = "[@anrede]\n\n[@vName] [@nName] hat folgende Nachricht gesendet:\n[@msg]\n\nKontaktdaten:\nVorname: [@vName]\nNachname: [@nName]\nE-Mail: [@email]\n";
$pattern = ',\[@([a-zA-Z0-9]*)\],i';
$text_neu = preg_replace($pattern,"$\1",$text);
-
16.12.05 15:54 #2
Probiers mal mit str_replace
Aber irgendwie hab ich dein Problem nicht ganz kapiert :P..:: MiNiMaG ::..
-
16.12.05 15:57 #3
- Registriert seit
- Nov 2004
- Beiträge
- 505
sind doch ganz normale platzhalter. einfach str_replace mit arrays als parameter verwenden
-
16.12.05 16:05 #4
Dann hab ich ihn doch richtig verstanden.
..:: MiNiMaG ::..
-
Probier mal Folgendes:
Vielleicht sollte zusätzlich noch geprüft werden, ob die Variable überhaupt existent ist. Der Ausdruck „[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*“ entstammt übrigens dem PHP-Handbuch (s. Kapitel über Variablen) und sollte daher nicht verändert werden.PHP-Code:preg_replace('/\[@([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\]/ei', '${"\1"}', $string)
Markus Wulftange
-
Hallo,
wenn du es mit Regulären Ausdrücken lösen willst, dann verwende das hier:
mfgPHP-Code:<?
$anrede = "Anrede";
$vName = "Vorname";
$nName = "Nachname";
$email = "aaa@bbb.ccc";
$msg = "Inhalt Nachricht";
$text = "[@anrede]\n\n[@vName] [@nName] hat folgende Nachricht gesendet:\n[@msg]\n\nKontaktdaten:\nVorname: [@vName]\nNachname: [@nName]\nE-Mail: [@email]\n";
$text = nl2br($text);
$text = preg_replace("/\[@([a-zA-Z]+)\]/","$\\1", $text);
eval ("\$text = \"$text\";");
echo $text;
?>
forstermWie man Fragen richtig stellt
Wichtig: Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
__________________
.:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.
-
Danke für eure Antworten!
@forsterm:
So in die Richtung hatte ich das auch schon aber ich wollte das Ganze ohne eval() lösen, da der Text von einem Kontaktformular kommt.
P.S.: Sorry das ich erst so spät wieder schreibe aber ich brauchte mal etwas Wochenende
EDIT:
@Gumbo:
Ich war leider etwas zu Voreilig mit meinem Post.
Hab gerade deine probiert und die funktioniert wunderbar!
Nochmal Danke!
Also das Ganze sieht jetzt so aus:
PHP-Code:<?
$anrede = "Anrede";
$vName = "Vorname";
$nName = "Nachname";
$email = "aaa@bbb.ccc";
$msg = "Inhalt Nachricht";
$text = "[@anrede]\n\n[@vName] [@nName] hat folgende Nachricht gesendet:\n[@msg]\n\nKontaktdaten:\nVorname: [@vName]\nNachname: [@nName]\nE-Mail: [@email]\n";
$text = preg_replace('/\[@([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\]/ei', '${"\1"}', $text);
echo $text;
?>Geändert von max (18.12.05 um 14:37 Uhr) Grund: Wer liest ist klar im Vorlteil!
-
Hast du meinen Vorschlag schon ausprobiert?
Markus Wulftange
Ähnliche Themen
-
Variableninhalt (Text) als (Text).jpg Grafik anzeigen? WIE? Brauche Hilfe
Von shadow1987 im Forum PHPAntworten: 5Letzter Beitrag: 25.04.07, 21:44 -
suchen und ersetzten mit preg_replace - HILFE
Von jarkand im Forum PHPAntworten: 3Letzter Beitrag: 17.01.07, 09:54 -
preg_replace: Etwas in einem ersetzten String nochmals ersetzen
Von lukelukeluke im Forum PHPAntworten: 17Letzter Beitrag: 23.03.05, 13:41 -
Datum mit preg_replace durch Text ersetzen
Von shorty im Forum PHPAntworten: 1Letzter Beitrag: 22.11.03, 14:12 -
Text durch Smeilys ersetzten
Von Yoda im Forum PHPAntworten: 3Letzter Beitrag: 19.07.03, 15:54





Zitieren
Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen