Hallo,
ich möchte aus einem String alle Elemente entfernen, die von bestimmten Zeichen umschlossen sind. Konkretes Beispiel eine MySQL-Spaltendefinition aus "SHOW CREATE TABLE":
Ich möchte nun prüfen, ob in diesem String NOT NULL vorkommt, allerdings soll sichergestellt werden, dass NOT NULL *nicht* im Spaltennamen, in einem Defaultwert oder einem Kommentar der Spalte vorkommt. Deswegen möchte ich alles zwischen `, " und ' vor dem Einsatz von mb_strpos() löschen.
Das Problem ist vielleicht nicht gleich offensichtlich. Es ist nun bei diesem RegExp so, dass natürlich auch "hallo' getroffen wird. Das soll nicht so sein, deshalb möchte ich soetwas in der Art:
Klappt so leider nicht, es kommt dann das hier heraus:
Was ich mir nicht so recht erklären kann.
a) Geht das überhaupt?
b) wenn ja, wie lautet der RegExp mit Selbstreferenzierung?
ich möchte aus einem String alle Elemente entfernen, die von bestimmten Zeichen umschlossen sind. Konkretes Beispiel eine MySQL-Spaltendefinition aus "SHOW CREATE TABLE":
Code:
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
PHP-Code:
preg_replace("/[\"\'\`][^\"\'\`]*[\"\'\`]/", "", $createColumn)
PHP-Code:
preg_replace("/([\"\'\`])[^\$1]*[\$1]/", "", $createColumn)
Code:
DEBUG ARG 1: string(46) "`id` int(10) unsigned NOT NULL AUTO_INCREMENT," DEBUG ARG 2: string(36) "0) unsigned NOT NULL AUTO_INCREMENT,"
a) Geht das überhaupt?
b) wenn ja, wie lautet der RegExp mit Selbstreferenzierung?
Kommentar