2012-04-06 5 views
1

Ich versuche mit preg_match einen kommentierten Teil in einer geladenen HTML-Datei zu finden. Das vorhandene Ausrufezeichen scheint es jedoch zu brechen. Jedes Mal, wenn ich versuche,PHP: Keine Übereinstimmung bei der Verwendung von Ausrufezeichen im regulären Ausdruck

zu verwenden, wird eine leere $ Übereinstimmungen [0] zurückgegeben. Ich habe versucht

preg_match("/< !/", "< !", $matches); 
preg_match("/!</", "!<", $matches); 

und diese geben "<!" und "! <". Ich habe überall nach einer Lösung gesucht, aber ich kann keine Lösung für dieses wahrscheinlich sehr einfach zu lösende Problem finden.

Vielen Dank im Voraus.

+0

Kann nicht reproduziert werden: Funktioniert einwandfrei in CLI. Sie sollten jedoch immer das Escape-Symbol zurücklassen, wenn Sie nicht möchten, dass es entweicht. '\\\' – KingCrunch

+0

Sehr seltsam. Ich frage mich, was könnte es sein. Das war eigentlich ein Tippfehler. Haha. – Thevet

Antwort

1

Sind Sie sicher, dass eine leere $matches[0] zurückgegeben wird, oder ist es nur $matches[0] ist selbst ein HTML-Kommentar, der ausgeblendet wird? Versuchen Sie var_dump($matches) und überprüfen Sie die Länge der Zeichenfolge.

+0

Das Gleiche. Dies wird zurückgegeben: array (1) {[0] => string (2) " – Thevet

+0

Sehen Sie, die Länge ist 2. Was passiert ist, dass'

+0

Das macht Sinn, ich entschuldige mich für meine Dummheit, Haha, vielen Dank. – Thevet

Verwandte Themen