2012-04-11 12 views
1

Ich möchte die Variable $ in der Mitte von $ code platzieren, das ist HTML-Code, den ich aus einer anderen Datei gesammelt habe. Mein aktueller Code ist so.Wie man eine Variable innerhalb einer anderen rendert?

ob_start(); 
---code here--- 
$all = ob_get_clean(); 
$code = file_get_contents("file.txt"); 
echo $code; 

file.txt würde ein bisschen so aussehen.

Was soll ich tun, damit, wenn ich $ code rede, $ all darin gerendert wird?

+1

http://php.net/manual/messageformatter.formatnachricht.php – KingCrunch

+0

Haben Sie einen Marker, der tatsächlich identifiziert, wo "in der Mitte" ist? Wird $ wirklich in der Datei.txt stehen, damit Sie wissen, wo Sie mit dem Inhalt von $ all anfangen sollen? – used2could

Antwort

4

Verwenden Sie str_replace, um $all durch den Wert zu ersetzen.

$code = str_replace('$all', $all, $code); 
+0

Das ist so einfach, ich bin überrascht, dass ich vorher nicht daran gedacht habe. Es funktioniert genau so, wie ich es jetzt will, danke! – Student

+0

Ich bin froh, dass ich helfen konnte :-) –

-1

Versuchen Sie RegEx zu verwenden.
Sie könnten "Körper" -Tag durch "Körper" -Tag ersetzen + Ihre Var.
Like:

echo preg_replace('/<body>/',"<body>$all",$code); 

Aber Sie müssen sicher sein, dass ein und nur ein <body> Tag in $code

+0

Zwischen '' und '$ all' gibt es einen HTML-Code. –

+0

Und das OP _replace_ '$ all' mit etwas Inhalt, und nicht _add_ new' $ all' nach dem Body-Tag. Reguläre Ausdrücke sind jedoch nicht erforderlich. Der einfache String-Austausch funktioniert genauso. – KingCrunch

0

OP vorliegt bekam seine Lösung, aber ich dachte, dies zu erwähnen, auch wert war.

Wenn Sie nicht über einen Platzhalter in der HTML-Datei, aber Sie wissen, dass Sie $all nach etwas Bestimmtes einfügen möchten, können Sie etwas tun:

$all = ob_get_clean(); 
$code = file_get_contents("file.txt"); 
$after = "<input type=\"hidden\" value=\"something\" />"; 

$code = substr_replace($code, $all, strpos($code, $after)+strlen($after), 0); 

Dies wird $after finden in $code , gehen Sie an das Ende und fügen Sie $all ein.

+0

Das ist gut zu wissen, danke! – Student

Verwandte Themen