regExp Hilfe
Helge B.
- php
Ich brauche Hilfe bei einer Suche mit reguläremausdruck:
$test = '<?xml-stylesheet type="text/xsl" href="diesunddas" ?>';
$suchmuster = "<\?xml-stylesheet.+?\>";
echo preg_match($suchmuster, $test);
... gibt immer 0. Wie kann ich den String $test per regexp suchen?
Helge
Hi,
$test = '<?xml-stylesheet type="text/xsl" href="diesunddas" ?>';
$suchmuster = "<?xml-stylesheet.+?>";
echo preg_match($suchmuster, $test);
> ... gibt immer 0.
Nicht nur das, es gibt auch eine Warnmeldung wegen des syntaktisch fehlerhaften regulären Ausdrucks.
Stelle bitte das error\_reporting auf E\_ALL und display\_errors auf 1.
MfG ChrisB
--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
Nicht nur das, es gibt auch eine Warnmeldung wegen des syntaktisch fehlerhaften regulären Ausdrucks.
Wenn's richtig wäre, bräuchte ich ja hier nicht posten.
Hi,
und welche Fehlermeldung bekommst du dann?
~dave
Nicht nur das, es gibt auch eine Warnmeldung wegen des syntaktisch fehlerhaften regulären Ausdrucks.
Wenn's richtig wäre, bräuchte ich ja hier nicht posten.
Wenn Dich niemand darauf hinweisen müßte, Dir Warn- und Fehlermeldung ausgeben zu lassen, bräuchtest Du hier vielleicht auch nicht posten.
Anhand der Warnmeldung könntest Du vielleicht Schlüsse ziehen, die dich der Lösung näher bringen. Zumindest könntest Du uns die Warnmeldung mitteilen.
Anhand der Warnmeldung könntest Du vielleicht Schlüsse ziehen, die dich der Lösung näher bringen. Zumindest könntest Du uns die Warnmeldung mitteilen.
Habt ja recht:
Warning: preg_match(): No ending matching delimiter '>' found in ...
Mit ~~~php
$suchmuster = "(<?xml-stylesheet.+?>)";
echo preg_match($suchmuster, $test, $match);
print_r($match);
Mit
$suchmuster = "(<?xml-stylesheet.+?)";
sieht's schon gut aus. Allerdings will ich auch das letzte > noch haben.
Warning: preg_match(): No ending matching delimiter '>' found in ...
http://de.php.net/manual/de/function.preg-match.php
Schau Dir mal die Beispiele innerhalb der Parameter-Liste an. Die Delimiter sind dort die beiden "/" am Anfang und am Ende.
$suchmuster = "(\<\?xml\-stylesheet.+\?\>)";
Was willst Du denn suchen?
<?xml-stylesheet, gefolgt von etwas möglichst kutzem was kein Zeilenumbruch ist, gefolgt von ?>
Was muß man maskieren?
http://de.wikipedia.org/wiki/Regulärer_Ausdruck#Regul.C3.A4re_Ausdr.C3.BCcke_in_der_Praxis
$suchmuster = "(.\?xml-stylesheet.+\?.)";
Läuft, Danke
$suchmuster = "(.\?xml-stylesheet.+\?.)";
Läuft, Danke
Was auch immer.
Erinnert mich an das hier:
Informatiker jagen Elefanten, indem sie den folgenden Algorithmus A ausführen:
1. Gehe nach Afrika
2. Beginne am Kap der guten Hoffnung
3. Durchkreuze Afrika von Süden nach Norden bidirektional in Ost-West-Richtung
4. Für jedes Durchkreuzen tue:
4a) Fange jedes Tier, das Du siehst
4b) Vergleiche jedes gefangene Tier mit einem als Elefant bekannten Tier
4c) Halte an bei Übereinstimmung
Wobei das Suchmuster der Falle in Punkt 4a des Informatikers entspricht und nicht etwa Punkt 4b.
Auf die gefahr hin, dass ich wie eine alte zerkratzte Schallplatet klinge:
Wenn du offensichtlich ein XML verarbeiten willst, warum nimmst du dann keinen XML-Parser?