Seite 3 von 4

Verfasst: 28.01.2006 13:44
von Bine24
Hallo,

also bei mir funktioniert das gar nicht! Der Link bleibt genauso lang! Ich dachte erst, es liegt daran, dass die bbcode.php schon geändert war durch z. B. den Smilie Creator, aber dann hab ich das in meinem jungfräulichen Testforum eingebaut, wo die bbcode.php wirklich noch unberührt war. Es geht trotzdem nicht!! :( Woran kann das denn liegen? Sooo viel kann man beim Einbau ja nicht verkehrt machen...

Hier die bbcode.php aus dem Testforum: bbcode.txt

Verfasst: 21.08.2006 14:37
von easygo
Hi! Hat hier schon mal jemand ne Cross-Browser Lösung versucht oder gefunden?

In Firefox 1.5.0.6 / Opera 9.01 funktioniert der Hack nicht. :(

Wobei der Opera Browser ja wenigstens die Zeile umbricht / Beispiel -->

http://www.net4seven.de/translate-posts ... .html#3968

Verfasst: 21.08.2006 18:39
von mgutt
häh? Das ist doch ein reiner php-Code, also sollte doch Browserunabhängig funktionieren :-?

Verfasst: 21.08.2006 19:09
von easygo
Mist! Du merkst aber auch alles, naja fast. :D

Kleine Korrektur: War ein Cross-Browser Problem! IE und ausgeloggt ging auch nicht.

Werbung Ende / easy

Verfasst: 21.08.2006 19:32
von mgutt
Kann doch eigentlich nur am Cache gelegen haben :-?

Verfasst: 21.08.2006 19:43
von easygo
Schlimmer! Hatte noch Testcode drin, der make_clickable aushebelt (für Gäste)

Verfasst: 22.08.2006 12:38
von SoLo1905
die lôsung hab ich glaub ich zumindest

harki sagte das dieses besser sein wûrde

Code: Alles auswählen

$ret = preg_replace("/<a href=(.*?)>((http|https|ftp):\/\/.*?)<\/a>/ie", "(strlen(\"\\2\") > 65 && !eregi(\"<\", \"\\2\") ) ? '<a href='.stripslashes(\"\\1\").'>'.substr(\"\\2\", 0, 35) . ' [...] ' . substr(\"\\2\", -25).'</a>' : '<a href='.stripslashes(\"\\1\").'>'.\"\\2\".'</a>'", $ret);
aber es wird nur gekûrzt, wenn man mit http:// https:// oder ftp:// anfängt
wir bräuchten aber das selbe auch, dass es gekûrzt werden soll, wenn mann mit www beginnt.

Verfasst: 22.08.2006 14:39
von mgutt
SoLo1905 hat geschrieben:die lôsung hab ich glaub ich zumindest

harki sagte das dieses besser sein wûrde

Code: Alles auswählen

$ret = preg_replace("/<a href=(.*?)>((http|https|ftp):\/\/.*?)<\/a>/ie", "(strlen("\\2") > 65 && !eregi("<", "\\2") ) ? '<a href='.stripslashes("\\1").'>'.substr("\\2", 0, 35) . ' [...] ' . substr("\\2", -25).'</a>' : '<a href='.stripslashes("\\1").'>'."\\2".'</a>'", $ret);
aber es wird nur gekûrzt, wenn man mit http:// https:// oder ftp:// anfängt
wir bräuchten aber das selbe auch, dass es gekûrzt werden soll, wenn mann mit www beginnt.
na dann probier doch mal so:

Code: Alles auswählen

$ret = preg_replace("/<a href=(.*?)>((http:\/\/|https:\/\/|ftp:\/\/|www.).*?)<\/a>/ie", "(strlen("\\2") > 65 && !eregi("<", "\\2") ) ? '<a href='.stripslashes("\\1").'>'.substr("\\2", 0, 35) . ' [...] ' . substr("\\2", -25).'</a>' : '<a href='.stripslashes("\\1").'>'."\\2".'</a>'", $ret);
Ich denke das müsste klappen. Wobei ich gerade nicht weiß, ob man den Punkt von "www." backslashen muss. Teste einfach mal obs geht.

Verfasst: 24.08.2006 01:49
von SoLo1905
diesmal wird dieses gekürzt
-http://
-https://
-ftp://
-www.

aber wenn man dieses mit einer beschreibung macht also
wird dieses nicht gekürzt auch wenn es über 80 buchstaben usw. geht.

aber bei www geht es :D

Verfasst: 25.08.2006 12:01
von SoLo1905
naja vlt heute