- Registriert
- 26.10.05
- Beiträge
- 3.120
Ich mag Favelets!
Das erste, das ich geschrieben hatte, aber nicht das erste, das ich veröffentliche, ist dieses „VB - Schöner Posten“ Favelet.
Wenn man das aufruft, nachdem man seinen Beitrag eingegeben hat, aber bevor man ihn abschickt, werden ein paar Ersetzungen vorgenommen:
Das Favelet ist noch nicht optimal, da es auch Links, die in andere Foren verweisen, ersetzt, aber daran arbeite ich dann (später) noch.
Erledigt! Es werden nun nur solche URLs ersetzt, die auf denselben Host und dasselbe Protokoll verweisen. Also einfach gesagt die, die zu dem Forum gehören, in dem man sich befindet.
Außerdem bleibt markierter Text markiert.
Die Installation ist, wie üblich, krude:
Die Bedienung ist oben ja schon beschrieben. Als Ergänzung: Wenn im VBulletin-Editor Text markiert ist, so wird die Ersetzung nur im markierten Teil vorgenommen. Also entweder alles oder gar nichts markieren, wenn der gesamte eingegebene Text zu bearbeiten ist.
Für FireFox 2.4 User gibt es das unten [post=1538107]nochmal als Einzeiler[/post].
Für FireFox vor 2.4 wahrscheinlich ungeeignet
Das erste, das ich geschrieben hatte, aber nicht das erste, das ich veröffentliche, ist dieses „VB - Schöner Posten“ Favelet.
Wenn man das aufruft, nachdem man seinen Beitrag eingegeben hat, aber bevor man ihn abschickt, werden ein paar Ersetzungen vorgenommen:
- URLs die auf Threads verweisen werden durch [noparse][thread][/noparse] ersetzt. Damit öffnet sich der Link nicht standardmäßig in einem neuen Fenster.
- URLs die auf Beiträge verweisen werden durch [noparse][post][/noparse] ersetzt. Damit öffnet sich der Link nicht standardmäßig in einem neuen Fenster.
Außerdem – und das halte ich für wichtig – funktionieren so bearbeitete permalinks. - eine youtube URL, die nicht bereits als [noparse][/noparse] eingetragen ist, sondern nur im Text auftaucht, wird durch [noparse][yt]youtube-ID[/yt][/noparse] ersetzt.
Erledigt! Es werden nun nur solche URLs ersetzt, die auf denselben Host und dasselbe Protokoll verweisen. Also einfach gesagt die, die zu dem Forum gehören, in dem man sich befindet.
Außerdem bleibt markierter Text markiert.
Die Installation ist, wie üblich, krude:
- Ein neues Lesezeichen im Lesezeichen-Manager anlegen.
- Einen Namen für das neue Lesezeichen wählen (Vorschlag: VB - Schöner Posten).
- In das Adressfeld den JavaScript-Code (siehe unten) kopieren.
Die Bedienung ist oben ja schon beschrieben. Als Ergänzung: Wenn im VBulletin-Editor Text markiert ist, so wird die Ersetzung nur im markierten Teil vorgenommen. Also entweder alles oder gar nichts markieren, wenn der gesamte eingegebene Text zu bearbeiten ist.
Für FireFox 2.4 User gibt es das unten [post=1538107]nochmal als Einzeiler[/post].
Für FireFox vor 2.4 wahrscheinlich ungeeignet
Code:
[noparse]
javascript:try{
var te= document.getElementById('vB_Editor_QE_1_textarea')
|| document.getElementById('vB_Editor_QR_textarea')
|| document.getElementById('vB_Editor_001_textarea');
if (!te) throw "Kein VBulletin Editor gefunden";
var url=(window.location.protocol+"//"+window.location.host+"/").replace(/(\([\[{.*?}\\+\]]\))/, "\\$1");
var post= new RegExp('\\[url="?'+url+'[^\\]]+#post(\\d+)"?\\](.*?)\\[/url\\]', "gi");
var thread= new RegExp('\\[url="?'+url+'[^\\]]+-t(\\d+)(?:-\\d+)?\\.html"?\\](.*?)\\[/url\\]', "gi");
var s= te.selectionStart;
var e= te.selectionEnd;
var m= true;
if (s==e) {
s=0;
e=te.value.length;
m=false;
}
var str1 = te.value.substring(0,s);
var str2 = te.value.substring(s,e);
var str3 = te.value.substring(e,te.value.length);
str2= str2
.replace(post, "[post=$1]$2\[/post]")
.replace(thread, "[thread=$1]$2\[/thread]")
.replace(/([^"=]|^)http:\/\/\S+[?&]v=([^=\s]+|$)/gi, "$1[yt]$2[/yt]")
;
te.value= str1 + str2 + str3;
if (m) {
te.selectionStart= s;
te.selectionEnd= s+str2.length;
}
}catch(e){if(e)alert(e)}void(0);
[/noparse]
Zuletzt bearbeitet: