Hallo Lucky,
Smarty besitzt die Replace Funktion regex_replace. Ich bräuchte aber eine Art preg_match() oder ereg() Funktion in Smarty. Weiß jemand, ob es so etwas gibt oder wie man ev. so etwas implementieren könnte?
ich weiß nicht was du machen willst - willst du z.B. aus dem String »Wir haben das Jahr 2005« (aus der Datenbank o.ä.) nur die Zahl »2005« haben?
Dann könntest du dir einfach einen eigenen "Modifier" basteln. Mit der Datei »modifier.regex_match.php« (in (einem) Verzeichnis das in $plugins_dir steht) die den Inhalt:
<?php
function smarty_modifier_regex_match($string, $search){
preg_match($search, $string, $match);
return $match[1];
}
?>
hat und den Zeilen:
{assign var="foo" value="Wir haben das Jahr 2005"}
{* ^_ kann natürlich auch über $tmpl->assign('foo','...'); gemacht werden *}
{$foo|regex_match:"~([0-9]+)~"}
im Template bekommst du die Ausgabe »2005«.
Oder was meinst du sonst?
Grüße aus Nürnberg
Tobias