Ersetzten

Hallo,

Ich möchte einen textteil in einer Variable setzten. Ich weiß zwar wie man einen text durch einen text setzten kann, jedoch möchte ich einen text durch include ersetzten. Wie geht das?

Viele Grüße

schreib doch einfach statt desstrings den du reinschreibst, das include als string rein

<?php ob_start(); include('inc.php'); $var=ob_get_contents(); ob_end_clean(); echo $var; ?>

Deine include-Datei musst du als PHP Datei ablegen, also mit der Endung .php

Also $text ist ein Eintrag in einer DB. Und nun möchte ich wenn z.b. “[text]” in dem Eintrag steht, dass [text] durch ein include ersetzt wird.

also eine Art BB-Codes???

$text = "Hallo [user]";

$text = str_replace("[user]", "Martin", $text);

echo $text;

das gibt “Hallo Martin” aus…

Ja so in der Art, nur soll anstatt Martin ein include eingesetzt werden.

dann kombinierst du piratos beitrag und michis Beitrag.
und statt “Martin” im str_replace, gibst du $var an.

mfg Balmung

Danke hat geklappt.

Habe noch eine Frage:
Kann mir jemand folgenden Code geben:
Ich möchte, dass wenn jetzt [home1] drin steht, dass home.php?id=1 includet wird. Aber das mit jeder ID. 1,2,3,…

$str = preg_replace("/\[home([0-9]*)\]/i", "home.php?id=$1", $str);

Hallo ich habe ein Problem. Ich verwende diesen Code

ob_start(); $_GET['id']='$1'; include('home.php'); $home=ob_get_contents(); ob_end_clean(); $str = mysql_result($get, 0, text); $str = preg_replace("/\[home([0-9]*)\]/i", $home, $str); echo $str;
Aber wenn ich in der Datei home.php eine Mysql abfrage mache

$get2=mysql_query("SELECT * FROM home WHERE id='".$_GET["id"]."'"); $anzahl=mysql_num_rows($get2);
Dann wird 0 ausgegeben, obwohl mind. 1 drin ist mit der id (in der db).
Wo liegt der Fehler?

Edit:
Bei echo $_GET[“id”]; wird die id ausgegeben. Also z.b. bei [home50] wird 50 Ausgegeben.

Ich würde es durch COUNT() direkt von mysql zählen lassen.

Klappt leider immer noch nicht.
Gibt immernoch 0 aus.

[code]$id = $_GET[‘id’];
$sql = mysql_query(“SELECT COUNT(*) as countet from home WHERE id = ‘$id’”);
list($count) = mysql_fetch_row($sql);

echo $count;[/code]

Wieso funktioniert das nicht?

vielleicht steht nix in der DB bzw. Tabelle … :ps:

Mein Code funktioniert definitiv…

Ne. ca. 40 einträge.

Und das komische ist, dass wenn ich echo $_GET[“id”] mache, dann wird der wert angezeigt.
([home1] zeigt 1 usw)

Edit: Vielleicht liegst daran: $str = preg_replace("/[home([0-9]*)]/i", $home, $str);?
Wird die Zahl da umgewandelt oder so was?

führ mal SELECT COUNT(*) as countet from home WHERE id = '1 in phpMyAdmin aus…

[quote]countet
1[/quote]