tag:forum.selfhtml.org,2005:/self regExp Hilfe – SELFHTML-Forum 2011-03-10T15:38:31Z https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498470#m1498470 Helge B. 2011-03-09T12:57:52Z 2011-03-09T12:57:52Z regExp Hilfe <p>Ich brauche Hilfe bei einer Suche mit reguläremausdruck:</p> <pre><code class="block language-php"> $test = '<span class="token php language-php"><span class="token delimiter important"><?</span>xml<span class="token operator">-</span>stylesheet type<span class="token operator">=</span><span class="token string double-quoted-string">"text/xsl"</span> href<span class="token operator">=</span><span class="token string double-quoted-string">"diesunddas"</span> <span class="token delimiter important">?></span></span>'; $suchmuster = "<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>\?xml-stylesheet.+?\</span><span class="token punctuation">></span></span>"; echo preg_match($suchmuster, $test); </code></pre> <p>... gibt immer 0. Wie kann ich den String $test per regexp suchen?</p> <p>Helge</p> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498472#m1498472 ChrisB 2011-03-09T13:04:26Z 2011-03-09T13:04:26Z regExp Hilfe <p>Hi,</p> <blockquote> <pre><code class="block language-php"></code></pre> </blockquote> <p>$test = '<?xml-stylesheet type="text/xsl" href="diesunddas" ?>';</p> <blockquote> <p>$suchmuster = "<?xml-stylesheet.+?>";<br> echo preg_match($suchmuster, $test);</p> </blockquote> <pre><code class="block"> > ... 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? </code></pre> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498471#m1498471 suit spam.2011@rebell.at http://rebell.at/ 2011-03-09T13:51:18Z 2011-03-09T13:51:18Z XML-Parser beim Verarbeiten von XML <p>Auf die gefahr hin, dass ich wie eine alte zerkratzte Schallplatet klinge:</p> <p>Wenn du offensichtlich ein XML verarbeiten willst, warum nimmst du dann keinen XML-Parser?</p> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498473#m1498473 Helge B. 2011-03-09T13:09:46Z 2011-03-09T13:09:46Z regExp Hilfe <blockquote> <p>Nicht nur das, es gibt auch eine Warnmeldung wegen des syntaktisch fehlerhaften regulären Ausdrucks.</p> </blockquote> <p>Wenn's richtig wäre, bräuchte ich ja hier nicht posten.</p> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498480#m1498480 dave 2011-03-09T13:22:33Z 2011-03-09T13:22:33Z regExp Hilfe <p>Hi,</p> <p>und welche Fehlermeldung bekommst du dann?</p> <p>~dave</p> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498474#m1498474 Texter mit x 2011-03-09T13:26:37Z 2011-03-09T13:26:37Z regExp Hilfe <blockquote> <blockquote> <p>Nicht nur das, es gibt auch eine Warnmeldung wegen des syntaktisch fehlerhaften regulären Ausdrucks.<br> Wenn's richtig wäre, bräuchte ich ja hier nicht posten.</p> </blockquote> </blockquote> <p>Wenn Dich niemand darauf hinweisen müßte, Dir Warn- und Fehlermeldung ausgeben zu lassen, bräuchtest Du hier vielleicht auch nicht posten.</p> <p>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.</p> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498475#m1498475 Helge B. 2011-03-09T13:36:17Z 2011-03-09T13:36:17Z regExp Hilfe <blockquote> <p>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.</p> </blockquote> <p>Habt ja recht:<br> Warning: preg_match(): No ending matching delimiter '>' found in ...</p> <p>Mit ~~~php $suchmuster = "(<?xml-stylesheet.+?>)";<br>     echo preg_match($suchmuster, $test, $match);<br>     print_r($match);</p> <pre><code class="block language-bekomme"> </code></pre> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498479#m1498479 Helge B. 2011-03-09T13:42:19Z 2011-03-09T13:42:19Z regExp Hilfe <p>Mit<br>     $suchmuster = "(<?xml-stylesheet.+?)";<br> sieht's schon gut aus. Allerdings will ich auch das letzte > noch haben.</p> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498476#m1498476 Texter mit x 2011-03-09T14:34:17Z 2011-03-09T14:34:17Z regExp Hilfe <blockquote> <p>Warning: preg_match(): No ending matching delimiter '>' found in ...</p> </blockquote> <p><a href="http://de.php.net/manual/de/function.preg-match.php" rel="nofollow noopener noreferrer">http://de.php.net/manual/de/function.preg-match.php</a><br> Schau Dir mal die Beispiele innerhalb der Parameter-Liste an. Die Delimiter sind dort die beiden "/" am Anfang und am Ende.</p> <blockquote> <p><code class="language-php"><span class="token variable">$suchmuster</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"(\<\?xml\-stylesheet.+\?\>)"</span><span class="token punctuation">;</span></code></p> </blockquote> <p>Was willst Du denn suchen?<br> <?xml-stylesheet, gefolgt von etwas möglichst kutzem was kein Zeilenumbruch ist, gefolgt von ?></p> <p>Was muß man maskieren?<br> <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck#Regul.C3.A4re_Ausdr.C3.BCcke_in_der_Praxis" rel="nofollow noopener noreferrer">http://de.wikipedia.org/wiki/Regulärer_Ausdruck#Regul.C3.A4re_Ausdr.C3.BCcke_in_der_Praxis</a></p> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498477#m1498477 Helge B. 2011-03-10T10:55:10Z 2011-03-10T10:55:10Z regExp Hilfe <p><code class="language-php"><span class="token variable">$suchmuster</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"(.\?xml-stylesheet.+\?.)"</span><span class="token punctuation">;</span></code><br> Läuft, Danke</p> https://forum.selfhtml.org/self/2011/mar/9/regexp-hilfe/1498478#m1498478 Texter mit x 2011-03-10T15:38:31Z 2011-03-10T15:38:31Z regExp Hilfe <blockquote> <p><code class="language-php"><span class="token variable">$suchmuster</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"(.\?xml-stylesheet.+\?.)"</span><span class="token punctuation">;</span></code><br> Läuft, Danke</p> </blockquote> <p>Was auch immer.</p> <p>Erinnert mich an das hier:<br> Informatiker jagen Elefanten, indem sie den folgenden Algorithmus A ausführen:<br> 1. Gehe nach Afrika<br> 2. Beginne am Kap der guten Hoffnung<br> 3. Durchkreuze Afrika von Süden nach Norden bidirektional in Ost-West-Richtung<br> 4. Für jedes Durchkreuzen tue:<br> 4a) Fange jedes Tier, das Du siehst<br> 4b) Vergleiche jedes gefangene Tier mit einem als Elefant bekannten Tier<br> 4c) Halte an bei Übereinstimmung</p> <p>Wobei das Suchmuster der Falle in Punkt 4a des Informatikers entspricht und  nicht etwa Punkt 4b.</p>