Christian Seiler: PHP - Tags einlesen - ausschließen

Beitrag lesen

Hallo RFZ,

Davon hab ich bisher nix gehört, wo liegt das Problem bei ereg?

Sobald ein 0-Byte (d.h. Byte mit folgenden Bits: 00000000) irgendwo auftaucht versagt es. Im Sinne: in diesem Fall denkt es, die Zeichenkette wäre bereits zuende.

<?php
$a = ereg ("a", "\0 a");
$b = preg_match ("/a/", "\0 a");
var_dump ($a);
var_dump ($b);
?>

Ergibt:

bool(false)
int(1)

Oder ist es einfach nur bissal schlechter als preg,

preg ist nach meinen Tests fast doppelt so schnell und hat _deutlich_ mehr Features.

Wenn Du selbst ereg in Deinen Scripten verwenden willst, bitte, solange Du mit der geringeren Anzahl an Features, der schlechteren Performance und diesem 0-Byte-Problem leben kannst.

Aber (und genau darauf kommt es mir an): Wenn Du hier eine Hilfestellung gibst, dann solltest Du immer die bestmögliche Lösung empfehlen, und preg hat im Vergleich zu ereg _keine_ Nachteile. Denn für die konkrete Problemlösung mag ereg noch gut funktionieren, aber falls das ganze etwas abgewandelt werden soll, kann man durchaus an die Grenzen von ereg stoßen. (nicht-matchende Klammern z.B.)

Viele Grüße,
Christian