Wildcard

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
kird1
Mitglied
Beiträge: 134
Registriert: 12.10.2004 20:09

Beitrag von kird1 »

ich meinte damit: ich habe in

Code: Alles auswählen

$string = preg_replace('#<a href="http://url-vorher.de/([^"]+)">#', '<a href="http://url-nachher.de/$1">', $string);
"http://url-vorher.de" mit meiner Forendomain ersetzt ("auf meine URL angepasst") - nichts weiter. Aber es tut halt nicht. Gar nicht.
Es scheint mir so, als würde ([^"]+) nicht passen und deshalb wird der Suchstring nicht gefunden............und deshalb passiert dann auch nichts.

was nicht ganz richtig war: ich hatte beim ersten Versuch vergessen am Ende das $string in $message zu tauschen - daher die Problematik mit den verschwundenen Postings.

Jetzt gibt es diese Problematik nicht mehr - aber es tut sich auch nichts mehr - der Suchstring wird vermutlich nicht gefunden


Grüße
kird1
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

kird1 hat geschrieben:ich meinte damit: ich habe [...] "http://url-vorher.de" mit meiner Forendomain ersetzt ("auf meine URL angepasst") - nichts weiter. Aber es tut halt nicht. Gar nicht.
Dann poste doch mal diesen angepassten Code.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
kird1
Mitglied
Beiträge: 134
Registriert: 12.10.2004 20:09

Beitrag von kird1 »

"http://url-vorher.de" habe ich mit
"http://www.domain.de/link/link.php?url= ... .domain.de"
ersetzt und url-nachher halt ohne link.php

(meine tatsächliche Domain möchte ich aus Sicherheitsgründen nicht posten)


Gruß
kird1
Benutzeravatar
kird1
Mitglied
Beiträge: 134
Registriert: 12.10.2004 20:09

Beitrag von kird1 »

andere Idee - ich wurschtle nicht in $message in der viewtopic.php herum - sondern setze in der bbcode.tpl an.

momentan werden die Links dort so umgeschrieben:

Code: Alles auswählen

   $ret = preg_replace("#(^|[\n ])([\w]+?://[^ \"\n\r\t<]*)#is", "\\1<a href=\"http://www.meinforum.de/link/link.php?url=\\2\" target=\"_blank\" rel=\"nofollow\">\\2</a>", $ret);
 
   $ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is", "\\1<a href=\"http://www.meinforum.de/link/link.php?url=http://\\2\" target=\"_blank\" rel=\"nofollow\">\\2</a>", $ret);

Wenn es jetzt gelingen würde, im Suchstring "meinforum.de" unterzubringen - dann könnte ich im Ersetzungsstring die "link.php" und das "nofollow" weglassen - und hätte auch, was ich benötige.

Dann hätten interne Links eine eigene "make_clickable"

was meinst Du, wäre das einfacher?


Gruß
kird1
Benutzeravatar
kird1
Mitglied
Beiträge: 134
Registriert: 12.10.2004 20:09

Beitrag von kird1 »

richtiger Weg!

Code: Alles auswählen

$ret = preg_replace("#(^|[\n ])((www|ftp)\.meinforum[^ \"\t\n\r<]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);
funktioniert schon mal!

Gruß
kird1
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

kird1 hat geschrieben:"http://url-vorher.de" habe ich mit
"http://www.domain.de/link/link.php?url= ... .domain.de"
ersetzt und url-nachher halt ohne link.php
Das Fragezeichen muss escaped werden, also als \? geschrieben werden. :wink:

Edit: Ganz vergessen: Punkte müssen auch als \. geschrieben werden. :oops:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Antworten

Zurück zu „Coding & Technik“