WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   str_replace zu langsam ... (http://www.wcm.at/forum/showthread.php?t=94216)

käptn 17.04.2003 14:49

HAst du auch überprüft, ob es wirklich str_replace() ist, das diese enorme Verzögerung verursacht?

Langsam beschleicht mich das unangenehme Gefühl, dass du für jede Tabellenzeile das Templatefile neu einliest!?

[edit]
<schmeh>
Vielleicht solltest nicht soviel :smoke: ;) :D
</schmeh>

~

schera 17.04.2003 15:05

Nein, ich lese das Tpl nur einmal ein und speichere es in eine Variable, danach replace ich alle Felder und am Ende gebe ich das gesamte Template aus.
Wenn ich das str_replace ausklammere //, dann geht´s ruck zuck.
Also es ist sicherlich diese Funktion.
ereg_replace ist auch nicht schneller oder bzw. nicht merkbar.

<schmäh>
Wirklich schwer zum Aufhören ... :D
Aber recht hast sicherlich
</schmäh>

käptn 17.04.2003 15:11

ereg kann nicht schneller sein...

Poste mal den Block rund um str_replace()

~

schera 17.04.2003 16:46

// Template öffnen
$tpl = opentpl($design);
$tplzeile = opentpl($zeile);

// Inhalt Parsen
while ($r_eintr = mysql_fetch_array($rs_eintr)) {

$out_eintr.= $tplzeile;

$out_eintr = str_replace({Wert1}, $r_eintr['wert1'], $out_eintr);
... hier kommen noch 6 Werte

}

$out_gesamt = str_replace({inhalt}, $out_eintrag, $tpl);

// Rückgabe Gesamttemplate
return $out_gesamt;

käptn 17.04.2003 16:55

Hm, der string $out_eintr wird ja immer länger und länger...

try:
Code:

while (...) {
  $out_eintr = $tpl_zeile;
  $out_eintr = str_replace('{WERT1}', $rs['wert1'], $out_eintr);
  2
  3
  .
  $out_ges .= $out_eintr;
}

~

schera 17.04.2003 20:35

here we go... :)

jup das hab ich komplett übersehen, so gehts gleich um
einiges schneller

thx 4 your help

mfg


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag