regExp ... mit Anführungszeichen auslesen ?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hallo
ich möchte aus einem HTML-Code auslesen, welcher charset verwendet wird
dazu habe ich einen regExp, der aber nur funktioniert, wenn Code mit " ist..
BSP:<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
preg_match_all('/<meta.*charset=([^;"]*)">/i', $html, $matches);
wie muss ich den RegEx-Pattern ändern,
damit er sowohl für " als auch für ' funktioniert, also so, dass es auch geht
wenn so:<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
also egal, ob mit doppelten oder einfachen "Gänsefüßchen" (Anführungszeichen)
also egal ob Attribute mit
oder"
im Code stehen'
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ganz ins Blaue, ohne großartig geschlafen zu haben sollte das auf " und ' matchen:
("|')
Das einfache musst du natürlich noch mit \ escapen.
Ich würde das aber eher mit DOMDocument lösen, damit sparst du die das Gespiele mit den Regechsen und bist damit nicht so fehleranfällig. -
nö,
das gibt Fehlermeldung so
preg_match_all('/<meta.*charset=([^;"|']*)("|')>/i', $html, $matches);
unexpected ] in line ...
... ach ja .. logisch, das ' muss dann auch escaped werden
habs jetzt mal so gemacht, ohne das ODER | Pipe Zeichen,
preg_match_all('/<meta.*charset=(.+?)[\'";].*>/i', $html, $matches);
und so es scheint es auch zu funktionieren
DANKE .. das escapen war der wichtige Hinweis ^^ :=)
Beitrag zuletzt geändert: 23.6.2015 9:59:47 von wguide -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage