diff --git a/src/class.StringBuilder.php b/src/class.StringBuilder.php index df84a52..6ff0885 100644 --- a/src/class.StringBuilder.php +++ b/src/class.StringBuilder.php @@ -263,4 +263,19 @@ class StringBuilder { } return $tpl; } + + /** + * Alle Teile zu einem String zusammenfügen, wärend doppelt vorkommende Teile nicht erneut vorkommen und dann variablen im gesamt String ersetzen. + * @return string Gesamt-String mit Variablen ersetzt. + */ + public function renderUnique() : string { + $tpl = $this->joinUnique(); + foreach($this->vars as $key => $value) { + if(is_numeric($value) or is_string($value)) { + $tpl = preg_replace("/".$this->varPrefix."\s*".$key."\s*".$this->varSuffix."/", $value, $tpl); + } + } + return $tpl; + } + }