"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

regular-expressions & php

watchout 14.10.2002 - 01:25 931 7
Posts

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also, bis jetzt hab' ich mich noch nie mit regexp näher beschäftigt...
jetzt hab ich aber hier ein (schirches) stück code, welches ganz laut "OPTIMIERUNG" ruft, und das ein newsboard ist, welches bb-code unterstützt...

nun meine fragen:
1. brauchen regexp-funktionen einen double-quoted string?
2. wenn sie keinen double-quoted string brauchen, is' dann ein performance-unterschied zw. single und double?
3. sind funktionen wie ereg_replace, eregi_replace SCHNELLER als str_replace? (ich weiss dass str_replace keine regexp unterstützt, aber der code ist schon vorhanden....)
4. es gibt einen codeteil in besagtem code einen teil, wo eben die einzelnen bb-codes durch html-codes ersetzt werden, dort wird aber jeder einzelne bb-code einzeln abgehandelt, ist es nun besser, wenn ich das alles in einem erledige, oder zumindest die einfachen wie [ b ], [ i ] usw...?

mehr fragen vielleicht später.... :)
Bearbeitet von watchout am 01.04.2003, 19:32

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Zitat von watchout
3. sind funktionen wie ereg_replace, eregi_replace SCHNELLER als str_replace? (ich weiss dass str_replace keine regexp unterstützt, aber der code ist schon vorhanden....)
4. es gibt einen codeteil in besagtem code einen teil, wo eben die einzelnen bb-codes durch html-codes ersetzt werden, dort wird aber jeder einzelne bb-code einzeln abgehandelt, ist es nun besser, wenn ich das alles in einem erledige, oder zumindest die einfachen wie [ b ], [ i ] usw...?

Die Funktionen sind auf jeden Fall sehr schnell. Und je mehr du auf einmal machen kannst, um so besser ist es.

bernhard

Little Overclocker
Registered: Feb 2001
Location: NÖ
Posts: 51
Zitat

1. brauchen regexp-funktionen einen double-quoted string?
2. [...] is' dann ein performance-unterschied zw. single und double?
3. sind funktionen wie ereg_replace, eregi_replace SCHNELLER als str_replace?
4. [...] ist es nun besser, wenn ich das alles in einem erledige

ad 1) Nicht notwendigerweise.
ad 2) Immer.
ad 3) Laut php.net ist preg_* noch schneller.
ad 4) Wie willst Du das anstellen?

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von bernhard
ad 4) Wie willst Du das anstellen?
mit variablen

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
str_replace is das schnellste (dann preg) - never use ereg!

der performance unterschied zwischen " udn ' strings is minimal
bei regex machts perf. keinen zusaetzlichen unterschied

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von funka
str_replace is das schnellste (dann preg) - never use ereg!

der performance unterschied zwischen " udn ' strings is minimal
bei regex machts perf. keinen zusaetzlichen unterschied
hmm, das " zu ' machen hat bei einem script von mir ca 30% performance-schub gebracht, und wenn du das newsboard sehen tät'st, wo strings wie "$var" vorkommen, und das 50 mal, dann strings wie "plain" und das ca 300 mal - dann denke ich siehst du in diesem bereich auch performance-schwächen :D

why never use ereg? weil so lahm is' oder is' was anderes...? ich hab sowieso nie den unterschied gechecked...

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
die regex engine is einfach wesentlcih langsamer als die von pcre (p-reg...)
das mit den 30% kann ich mir nicht vorstellen
aber ansich hast schon irgendwie recht

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von funka
das mit den 30% kann ich mir nicht vorstellen
naja - is' schon ein etwas älteres script, da hab ich zwar gwusst, dass es einen untershied gibt, aber das da die performance auch reinspielt hab ich nicht behirnt....

ein
$var="";
war in einer schleife, die so ca 100 mal gelaufen is'


Edit: Auf jeden Fall grosses THX für die hilfe :)
Bearbeitet von watchout am 16.10.2002, 19:19
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz