Ergebnis 1 bis 5 von 5

Thema: Array-Element beim Ersetzen // Templatesystem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Du kannst nicht im Array-Index von $this->data \1 benutzen. Das \1,\2,\n wird nur geparsed wenn es direkt in dem String steht der an preg_replace übergeben wurde steht. Dein Skript sucht in $this->data nach dem Element mit dem Index '\1'. Das gibts nicht -> es ist leer -> es erscheint nichts im Template.

    Du könntest es so machen, dass alle Vorkommnisse von $global durchgegangen und jeweils einzeln ersetzt werden. z.B. so:
    PHP-Code:
    while(preg_match('#\$global\[(.*)\]#Uis'$this->str$matches))
    {
      
    $this->str preg_replace('#\$global\['.$matches[1].']#Uis'$this->data[$matches[1]], $this->str);

    Ungetestet.

  2. #2
    Zitat Zitat von Dingsi
    Du könntest es so machen, dass alle Vorkommnisse von $global durchgegangen und jeweils einzeln ersetzt werden. z.B. so:
    PHP-Code:
    while(preg_match('#\$global\[(.*)\]#Uis'$this->str$matches))
    {
      
    $this->str preg_replace('#\$global\['.$matches[1].']#Uis'$this->data[$matches[1]], $this->str);

    Yay, funktioniert, danke
    Okay, dann bis zum nächsten Problem ^^"

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •