PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie wird :D oder [img] ... [/img] realisiert ?!



Roaster20
13-06-2002, 07:21
Hallo Kollegen,

ich hätte da mal ein paar grundsätzliche Fragen:

1. Wie wird aus :_hier_kein_Space_D diese Grafik :D
Ich könnte meine komplett zu ersetzenden Textbausteine in einen Array laden und dann die Strings aus dem Array im Text suchen. Das wäre jetzt meine Idee für eine Vorgehensweise. Das ich damit nicht unbedingt optimal liege ist ja schon sicher, aber wie wird das z.B. in diesem Forum gemacht ?!

2. [path]Text[/phat]
Dies ist nur ein Beispiel. Wenn ich statt das ganze in ein HTML konformes < b > einzuschliessen es z.B. über eigene Steueranweisungen realisieren will und einen Text, der in eingeschlossen ist, in der Ausgabe dick schreiben lassen will. Wie wird dies realisiert. Zum einen könnte ja einfach nur [phat] durch < b > ersetzt werden, aber gibt es auch andere Vorgehensweisen ?!

Viele Grüsse
Martin

elrond
13-06-2002, 08:22
ich würde es so machen wie du angedacht hast...

1. in den Text Metatags einfügen
2. vor der Ausgabe suchen und ersetzten.

Nichts anderes läuft afaik bei fastTemplate. Vielleicht solltest du dir den code mal anschauen

hier die relevanten Zeilen:


function parse_template ($template, $tpl_array)
{
while ( list ($key,$val) = each ($tpl_array) )
{
if (!(empty($key)))
{
if(gettype($val) != "string")
{
settype($val,"string");
}

$template = ereg_replace("{$key}","$val","$template");
//$template = str_replace("{$key}","$val","$template");
}
}

if(!$this->STRICT)
{
// Silently remove anything not already found

$template = ereg_replace("{([A-Z0-9_]+)}","",$template);
}
else
{
// Warn about unresolved template variables
if (ereg("({[A-Z0-9_]+})",$template))
{
$unknown = split("\n",$template);
while (list ($Element,$Line) = each($unknown) )
{
$UnkVar = $Line;
if(!(empty($UnkVar)))
{
$this->show_unknowns($UnkVar);
}
}
}
}
return $template;

} // end parse_template();

JoelH
19-06-2002, 09:52
also für einfache Tags gahts einfach so


if ($configdaten["boldTag"] == "on")
{
$hack = "|(\[b\])(.*?)(\[/b\])|s";
$code = "<b class='bred'>\\2</b>";
$text = preg_replace($hack,$code,$text);
}

Hier wird der [ b] Tag verwurstet, $hack ist der reg.Ausdruck, $code ist das was eigefügt werden soll und $text ist der Beitragstext der verändert wird.