• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

BBCodes laufen nich??

Status
Für weitere Antworten geschlossen.

snake.logan

Neues Mitglied
Hallo Leute,
ich habe die BBCode Funktion so:
bbcode.php
PHP:
<?php
$eintrag = str_replace("{admin_welcome}","Willkommen im Adminbereich!", $eintrag);
?>
Und ich habe eine admin.php:
PHP:
<?php
include("bbcode.php");
?>
<html>

<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Adminbereich</title>
</head>

<body>

<p>{admin_welcome}</p>

</body>

</html>

Normalerweise müsste er doch {admin_welcome} durch willkommen im Adminbereich ersetzen oder?
Kann mir bitte einer helfen?
 
Nein, er ersetzt in der Variable "$eintrag" alle eintraege, die auf den Regex oder das Wort passen, das du angibst durch das andere Wort, dass du angibst. Wenn schon, dann muesstest du das ganze so machen:


PHP:
<?php
$eintrag = "{admin_welcome}";
$eintrag = str_replace("{admin_welcome}","Willkommen im Admin-Bereich",$eintrag);
?>
<html>

<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Adminbereich</title>
</head>

<body>

<p><?php echo($eintrag); ?></p>

</body>

</html>
Wobei so ein Code wenig sinn macht.
 
das wollte ich ja auch mit .tpl dateien machen das war nur nen test. Aber wie kann man es machen das alles klappt außer mit dem echo($eintrag);??
Ach egal das klappt so gut :-)
PHP:
<?php
$eintrag = "{admin_welcome}";
$eintrag = str_replace("{admin_welcome}","Willkommen im Admin-Bereich",$eintrag);
?>
<html>

<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Adminbereich</title>
</head>

<body>

<p><?php echo($eintrag); ?></p>

</body>

</html>
 
ne is schlecht. wenn ich noch einen code einbaue dann kommt er durcheinander. Kann mir jemand bitte helfen einen besseren zu machen?
 
1. Gibts nen Edit-Button:
edit.gif

2. Verstehe ich dein Problem ueberhaupt nicht...
 
also wenn ich folgenden Code habe:
PHP:
<?php 
$eintrag = "{admin_welcome}"; 
$eintrag = str_replace("{admin_welcome}","Willkommen im Admin-Bereich",$eintrag); 
?> 
<html> 

<head> 
<meta http-equiv="Content-Language" content="de"> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
<title>Adminbereich</title> 
</head> 

<body> 

<p><?php echo($eintrag); ?></p> 

</body> 

</html>
Und mache dann noch einen Eintrag dann siehts so aus:
PHP:
<?php 
$eintrag = "{admin_welcome}"; 
$eintrag = str_replace("{admin_welcome}","Willkommen im Admin-Bereich",$eintrag); 
$eintrag = "{user_welcome}";
$eintrag = str_replace("{user_welcome}","Hallo user",$eintrag);
?>
So wenn ich jetzt die Datei admin.php startse mit dem Code:
PHP:
<?php 
echo($eintrag);
?>
Dann macht er nich mehr {admin_welcome} sondern {user_welcome} ???
Er sollte aber {admin_welcome} machen. Das hat irgendwie mit dem echo($eintrag); zu tun oder?
 
Das hat was damit zu tun, dass du die Variable $eintrag an dieser Stelle:

PHP:
$eintrag = "{user_welcome}";
komplett ueberschreibst.
 
Weil du den Kompletten Inhalt der Variable Uuberschreibst!!


Ich mach mal Kommentare dazu, um den Inhalt der Variablen zu jedem Zeitpunk klar zu machen:

PHP:
$eintrag = "{admin_welcome}"; //{admin_welcome}
$eintrag = str_replace("{admin_welcome}","Willkommen im Admin-Bereich",$eintrag);//Willkommen im Admin-Bereich
$eintrag = "{user_welcome}";//{user_welcome}
$eintrag = str_replace("{user_welcome}","Hallo user",$eintrag);//Hallo User
?>
 
du kannst es auch mit variablen machen, die du in einer zentralen datei speicherst und auf den entsprechenden seiten abrufst.

PHP:
<?php
//contents.php
$_texte = array();

$_texte['welcome'] = 'Willkommen';
$_texte['user'] = 'Admin';
?>

und noch

PHP:
<?php
//index.php
include_once('contents.php');

echo $_texte['welcome'];
echo $_texte['user'];
//usw.
?>

Nils aka XraYSoLo
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben