Mailinglisten-Archive |
Hi! Ich bräuchte mal ein bisschen Hilfe... ich schreibe zur Zeit an einem Parser, der alle URLs aus einer Datei ausliest. Ich arbeite mit einem Array, dass die verschiedenen Ausdrücke enthält. So SOLLTE es sein: $preg_url = array('~href=([\"\'])([^\\1]+)\\1~ui', // Ankers, Links '~action=([\"\'])([^\\1]+)\\1~i', // Actions (Forms) '~src=([\"\'])([^\\1]+)\\1~ui'); // Images Dieser Ausdruck (das [^\\1]) funktioniert jedoch nicht wie gewünscht. Wenn ich statt dessen .+ einsetze (deshalb das ungreedy), dann wird zum Beispiel bei <a href="test.php" target="_blank"> alles bis zum ">" erkannt. Im Moment verwende ich deshalb Freizeichen als Trennung: $preg_url = array('~href=([\"\'])([^ ]+)\\1~ui', // Ankers, Links '~action=([\"\'])([^ ]+)\\1~i', // Actions (Forms) '~src=([\"\'])([^ ]+)\\1~ui'); // Images Funktioniert soweit auch ganz gut. Nun bin ich aber in die Situation gekommen, einen JavaScript-Alert-Aufruf in einen Link zu packen, und da macht das ganze natürlich Probleme. Außerdem bin ich mir nicht sicher ob (unkodierte) Freizeichen in URLs wirklich nicht erlaubt sind. Gibt es einen Ausdruck der genau das tut was ich vom ersten eigentlich erwarte? cu, Roland Tapken -- Please reply to: tapken_(at)_engter.de PGP Public Key: http://www.engter.de/~tapkenea/gnupg_roland.txt ~~~ I'm a signature-virus. Please copy me into your sig. ~~~
php::bar PHP Wiki - Listenarchive