![]() |
|
|
Themen-Optionen |
|
|
Nach oben #21 |
|
Benutzer
Registriert seit: 16.09.2007
Beiträge: 32
|
das wird ausgegeben.
HTML-Code:
string(76) " Themenzeit: Deine Gilde! " PHP-Code:
HTML-Code:
string(69) " Themenzeit: Deine Gilde! " Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67 Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 72 string(0) "" Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 76 |
|
|
|
|
|
Nach oben #22 | |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Ok gib mir mal bitte deinen Codebereich nochmal und schreib die Zeilennummern vorne ran.
Der Fehler ist einfach: Arrayindex 0 und 1 existieren nicht in dem Moment, in dem du darauf zugreifen willst. Wenn Zitat:
Aber erstmal den Code nochmal mit Zeilennummern vorne dran
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
|
Nach oben #23 |
|
Benutzer
Registriert seit: 16.09.2007
Beiträge: 32
|
PHP-Code:
HTML-Code:
string(66) " {$topic_title} " string(69) " Themenzeit: Deine Gilde! " string(122) "{$name} Themenzeit: Deine Gilde! "
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67
NULL
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
string(0) ""
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
string(122) "{$name} Themenzeit: Deine Gilde! "
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67
NULL
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
string(0) ""
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
string(122) "{$name} Themenzeit: Deine Gilde! "
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67
NULL
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
string(0) ""
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
string(122) "{$name} Themenzeit: Deine Gilde! "
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 67
NULL
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
string(0) ""
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
string(122) "{$name} Themenzeit: Deine Gilde! " test Themenzeit: Deine Gilde!
PHP-Code:
Geändert von Victorious (19.09.2007 um 18:51 Uhr). |
|
|
|
|
|
Nach oben #24 |
|
Benutzer
Registriert seit: 16.09.2007
Beiträge: 32
|
hm denke woran es liegen könnte, es werden einfach alle werte dran gehängt anstatt sie zu überschreiben. Hab durch das debuging festgestellt das er alle werte übergibt.
Siehe hier: HTML-Code:
string(66) " {$topic_title} " string(24) "Themenzeit: Deine Gilde!" string(4) "1109"
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 66
NULL string(19) "Wartungen am Montag" string(4) "1077"
Notice: Undefined index: 1 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 73
Notice: Undefined index: 0 in /is/htdocs/wp1009673_FMKUCXMAF1/www/php/cls/template.class.php on line 77
|
|
|
|
|
|
Nach oben #25 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
hm... also laut deiner Ausgabe, ist allein $matches schuld.
Du müsstest also mal schauen was nach dem preg_match() in $matches drin steht. Gute optische Ausgabe erreichst du bei einer Debugausgabe so: PHP-Code:
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #26 |
|
Benutzer
Registriert seit: 16.09.2007
Beiträge: 32
|
hab das mal getan und die ausgabe sieht so aus.
HTML-Code:
array(2) {
[0]=>
string(91) "{foreach $news}
{$topic_title}
{/foreach}"
[1]=>
string(66) "
{$topic_title}
"
}
array(0) {
}
Geändert von Victorious (20.09.2007 um 00:38 Uhr). |
|
|
|
|
|
Nach oben #27 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Das ist eine gute Frage.
Du müsstest dich jetzt nach oben "debuggen", also schauen, was in den Variablen steht die du preg_match() übergibst (also in deinem Fall $this->template) bzw schauen was in den Variablen steht, die du deiner Funktion assign_array() übergibst. Also direkt nach dem Funktionskopf einfach mal $replace und $replacement_array ausgeben lassen.
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #28 |
|
Benutzer
Registriert seit: 16.09.2007
Beiträge: 32
|
Habe ich auch mal gemacht einmal für $replace dann für $replacement_array und für $this->template.
Für die $replace kommt das raus HTML-Code:
string(4) "news" string(4) "news" HTML-Code:
array(2) {
["topic_title"]=>
string(24) "Themenzeit: Deine Gilde!"
["topic_id"]=>
string(4) "1109"
}
array(2) {
["topic_title"]=>
string(19) "Wartungen am Montag"
["topic_id"]=>
string(4) "1077"
}
HTML-Code:
string(110) "{$name}
{foreach $news}
{$topic_title}
{/foreach}
"
string(84) "{$name}
Themenzeit: Deine Gilde!
"
{$topic_title} {/foreach} schon ersetzt wurden.Wie kann ich das ändern das er das erst ersetz wenn alles durchlaufen ist? Geändert von Victorious (20.09.2007 um 10:50 Uhr). |
|
|
|
|
|
Nach oben #29 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Ich will dich ja bissle zum selber Nachdenken anregen und dir nichts fertiges vorsetzen.
Es sieht für mich so aus, als wenn du selbst noch nicht so ganz verstanden hast, was deine Methode macht. Also am besten gehst du jetzt Zeile für Zeile durch und schreibst kurz als Kommentar dahinter was die Zeile macht. Notfalls auch auf Papier schreiben, was in welcher Reihenfolge passiert. Dann siehst du am schnellsten, wo der Fehler ist. Probier das mal. Geht ja recht schnell...
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #30 |
|
Benutzer
Registriert seit: 16.09.2007
Beiträge: 32
|
hm ich komm einfach ned drauf.
Also mit preg_match wird doch die tpl mit meinem suchmuster durchsucht. mit $match[1] wird dann der teil aus dem array rausgeholt der ersetzt werden soll. Durch die foreach schleifen werden alle array durchlaufen. PHP-Code:
mit rtrim werden die leerräume entfernt. Bei preg_replace wird wird nach einem regulären ausdruck gesucht und ersetzt PHP-Code:
|
|
|
|
|
|
Nach oben #31 | |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Zitat:
Ich bin grade auf Arbeit und kann daher selbst jetzt nicht Hand anlegen. Ich schau mir das heute Abend en Detail an. Bis dann!
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
|
Nach oben #32 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
sorry hab erst heute geschafft.
PHP-Code:
Wenn nicht, sag bescheid, dann versuche ich das nochmal bissle besser zu erklären
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #33 |
|
Benutzer
Registriert seit: 16.09.2007
Beiträge: 32
|
hm bringt mir auch nicht wirklich weiter. Ich seh halt nur das er beim ersten durch lauf das findet:
HTML-Code:
vor template:
string(110) "{$name} {foreach $news} {$topic_title} {/foreach} "
Dann das ersetzt HTML-Code:
nach template:
string(84) "{$name} Themenzeit: Deine Gilde! "
HTML-Code:
vor template:
string(84) "{$name} Themenzeit: Deine Gilde! "
|
|
|
|
|
|
Nach oben #34 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Richtig. Nun beleibt doch die Frage: Wenn du $this->template im ersten Durchlauf überschreibst, dann kannst du damit nichts mehr anfangen...
Es ist also wichtig, dass du erstmal deine Daten sammelst (z.B. in einer temporären Variable) und dann $this->template überschreibst bzw mit Daten füllst die du auch brauchst. Problem verstanden?
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #35 |
|
Benutzer
Registriert seit: 16.09.2007
Beiträge: 32
|
jo das habe ich verstanden. nur wie sammel ich die daten am besten?
Ich hätte da ne überlegung so zb. PHP-Code:
Geändert von Victorious (21.09.2007 um 14:22 Uhr). |
|
|
|