OffTopic: Was zwar unnötig war, aber ich kann aus eigener Erfahrung sagen: Besser lieber einmal mehr, als zu wenig .Original geschrieben von onemorenerd
OffTopic:
Ich wollte nur auf die Regeln hinweisen.
Feste URL parsen
Einklappen
X
-
Okay, ich muss - leider - noch einmal nerven.
Ich möchte alle URLs passen, die innerhalb eines href-Tages vorkommen - wie mache ich das? Das Problem ist, dass dies auf Basis des vorhandenen Codes passieren muss:
PHP-Code:<?php
if(preg_match_all('!(' . getURLParse($url) . '[^\s]*)!i',
$value, $matches)) {
// ...
}
?>
Zur Erläuterung:
PHP-Code:<?php
function getURLParse($url) {
$url = str_ireplace(".", "\\.", $url);
$url = str_ireplace("-", "\\-", $url);
return $url;
}
?>
Kommentar
-
Es kommt kein Fehler, aber auch kein Suchergebnis:
Code:!(href=[\"\\']' . getURLParse($url) . '[^\s]*[\"\\'])!i
Ein fehlerhafter Tag, der akzeptiert wird und wie man damit umgeht? Mir ist kein "fehlerhafter" href-Tag bekannt?! Google-Suche brachte auch nichts. Der Regexp akzeptiert doch lediglich href="XY" bzw. href='XY'.
Edit: Ah, "nohref"!Zuletzt geändert von frederic; 15.08.2007, 11:53.
Kommentar
-
Was ist falsch?
Der Regexp akzeptiert doch lediglich href="XY" bzw. href='XY'.
Kommentar
-
Ich finde den Fehler einfach nicht. Habe zwar hin und her probiert (mit Backslashes und Befehle an eine andere Stelle), aber es bleibt stehts fehlerhaft:
http://regexp-evaluator.de/evaluator...0608/#ergebnis
Mh.. Es gibt noch "hreflang". Gibt es ggf. eine Möglichkeit, href-Tags zu manipulieren?
Edit: Nein, hreflang kann es nicht sein, da er ja "href=" parst.Zuletzt geändert von frederic; 15.08.2007, 12:10.
Kommentar
-
Okay, ich habe etwas:
http://regexp-evaluator.de/evaluator...a484/#ergebnis
Edit: Allerdings ist das keine Lösung, weil ich im o.g. Regexp ein Fehler der Seite behoben musste. Bei mir funktioniert dies nicht.Zuletzt geändert von frederic; 15.08.2007, 12:21.
Kommentar
-
Ja, schon einmal gehört. Das wäre wohl besser statt meine Funktion getURLParse.
Zu deiner zweiten Frage: Ich habe fest definierte URLs z. B. nach dem Muster "http://www.spiegel.de". Der Regexp soll nur URLs UNTERHALB dieser URL finden, also z. B. "http://www.spiegel.de/politik/", nicht aber "http://forum.spiegel.de/xy/". Deshalb "[^\s]".
Kommentar
-
Es scheint anscheinend auch zu funktionieren. Nur: Er hat Probleme, wenn ich
[/"/']
verwende. Und außerdem haben wir das (angebliche) href-Problem noch nicht behoben. Zum anderen: Warum parst regexp-evaluator.de mehr als href="XY" raus?
Kommentar
Kommentar