dedlfix: Regulärer ausdruch grefit nicht?!

Beitrag lesen

Hi!

ich hab ein Problem und zwar habe ich einen regulären ausdruck, im ganzen so:
$bb = preg_replace('/\[code]+).*\](.*)\[\/code\]/', '<span id="$1">$2</span>', $bb);

Allerdings grefit das so nicht, der code darüber der genau so aussieht schon:
$bb = preg_replace('/\[color=([^ ]+).*\](.*)\[\/color\]/', '<span style="color:$1;">$2</span>', $bb);

Was genau soll er denn greifen?

Nebenbei, wenn ich via GET auf daten zugreife wo vorher z.b. stand:
echo "aaaa";
kommt bei mir da
echo \"aaaa\";

Ich könnt mir das schon zurechtschneiden, aber kann man dies vieleicht gleich verhindern? bzw warum passiert das?

Das sind die Magic Quotes. Ein PHP-Feature, um SQL-Injection zu verhindern, das aber an einer falschen Stelle im Verarbeitungsproess wirkt und damit Daten generell verunstaltet, auch wenn kein SQL erstellt werden soll. Dieses Feature ist mittlerweile abgekündigt. Schalte es am besten aus, oder mach seine Auswirkungen rückgängig und informiere dich, wie man gezielt Daten kontextgerecht behandelt.

Lo!