[PHP] String mit Variable ersetzen

BartTheDevil89

Devilution Media
ID: 87739
L
2 Mai 2006
3.960
103
Hallo,

also ich habe beispielsweise folgendes:

PHP:
$text = "Ich bin ein Test und hier soll die Tabelle hin
{boxstart;Ich bin hier}
und hier ist die Tabelle zu Ende.";
$inhalt = "<table><tr><td>???</td></tr></table>";

Also einen Text in dem folgendes vorkommt: {boxstart;hier ein Text}
Dazu dann einne Inhalt!

Jetzt möchte ich dieses {boxstart..} durch den $inhalt-Text ersetzen. Eigentlich ja damit möglich:

PHP:
$text = "Ich bin ein Test und hier soll die Tabelle hin
{boxstart;Ich bin hier}
und hier ist die Tabelle zu Ende.";
$inhalt = "<table><tr><td>???</td></tr></table>";
$text=str_replace("{boxstart;???}",$inhalt,$text);

Aber das nach dem {boxstart; bis zum } (oben diese ???) kann eben immer variieren. Und diesen Inhalt möchte ich dann in $inhalt einfügen.

Aber wie läuft das?:roll: Hab schon Google durchsucht aber leider auch nichts passendes gefunden.

Danke
 
Also du willst das nach dem Semikolon dahin, wo die ??? in $inhalt sind, und dann $inhalt mit dem ersetzten ??? an der stellte mit {boxstart?
PHP:
$text = preg_replace('~\{boxstart;(.*)\}~', '<table><tr><td>$1</td></tr></table>', $inhalt);
Dürfte dann wohl klappen, habs jetzt nicht getestet, und schon lange keine RegEx mehr benutzt.
 
PHP:
<?php
	$text = 'Ich bin ein Test und hier soll die Tabelle hin
	{boxstart;Ich bin hier}
	und hier ist die Tabelle zu Ende.';
	$inhalt = '<table><tr><td>$1</td></tr></table>';
	echo preg_replace('/\{boxstart;([^}]+)\}/', $inhalt, $text);
?>
Als Ansatz...

[edit]

2mal der gleiche Ansatz, also muss da was dran sein... ;)
 
Richtig...zwei Schlaue Menschen mit zwei gleichen Ansätzen und zwei richtigen dazu! :D

Dankeschön an ech beide..funktioniert tadellos!