dedlfix: MySQL RegEX escape

Beitrag lesen

Tach!

in meinem PHP habe ich eine Abfrage mit folgendem Inhalt (Auszug)

...REGEXP_REPLACE(produkt,'\(([^\)]*)\)','\1')...

Wenn ich dies nun abfrage, macht PHP aus der Abfrage folgendes und es wird natürlich der falsche Inhalt ausgegeben

REGEXP_REPLACE(produkt,'(([^)]*))','\1')

Jemand eine Idee?

Korrekt maskieren. PHP versucht Backslashes zu interpretieren. Deswegen müssen zwei notiert werden, wenn einer gemeint ist. Wenn am Ziel zwei ankommen sollen, müssen beide einzeln verdoppelt werden, also vier notiert werden.

Wann immer du eine Ebene weiter nach außen gehst, musst du jedes Zeichen einzeln betrachten, egal ob das im Zielsystem bereits Maskierzeichen sind oder nicht, und gegebenenfalls Maskierungsregeln hinzufügen.

dedlfix.