Seite 2 von 2

Verfasst: 25.10.2007 21:27
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

Verfasst: 25.10.2007 22:35
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.

Verfasst: 25.10.2007 22:51
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

Verfasst: 25.10.2007 23:20
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

Verfasst: 25.10.2007 23:30
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

Verfasst: 26.10.2007 13:04
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: