Seite 1 von 1
Signatur auf externer Seite verändern
Verfasst: 11.04.2007 14:34
von Hasu0bs
Hallo zusammen.
Ich habe ein Problem. Und Zwar will ich die Signatur eines Users auf einer externen Seite erstellen und ändern können. Die Signatur selbst wird ja in user_sig gespeichert, aber sie wird so (natürlich) noch nicht angezeigt. Was muss ich noch tuen, damit sie richtig verändert wird?
In der Tabelle gibt es ja auch noch ein feld user_sig_bbcode_uid in der 10 Zeichen stehn aber wie man die ermittelt, hab ich nich so ganz verstanden...
Danke schonmal
Hasu0bs
Selbst geschafft :-P
Verfasst: 11.04.2007 20:21
von Hasu0bs
Hallo nochmal...
Ich habs nach 3 Stunden auch so hinbekommen.Für alle die, dies interessiert:
- eine 10-stellige Hexadezimalzahl ausdenken. ZB.: $bbcodeuid = "b9f09ad60c";
- diese jetz bei jedem user der die Signatur bekommt in die Datenbank unter user_sig_bbcode_uid eintragen
- bei user_attachsig eine 1 setzen
- in der Signatur alle bbcodes(bis auf url, email und quote=) erweitern. D. h. [ b]hallo[ /b] wird zu [b:b9f09ad60c]hallo[/b:b9f09ad60c]. (natürlich die gewählte $bbcodeuid nehmen.)
- die Signatur ins Feld user_sig eintragen
Meine Funktion zum Verändern der Signatur:
Code: Alles auswählen
function bbcodeforum($str) {
$bbcodeuid = "b9f09ad60c";
$str = preg_replace('=\[b\](.*)\[/b\]=Uis',
'[b:'.$bbcodeuid.']\1[/b:'.$bbcodeuid.']',
$str);
$str = preg_replace('=\[i\](.*)\[/i\]=Uis',
'[i:'.$bbcodeuid.']\1[/i:'.$bbcodeuid.']',
$str);
$str = preg_replace('=\[u\](.*)\[/u\]=Uis',
'[u:'.$bbcodeuid.']\1[/u:'.$bbcodeuid.']',
$str);
$str = preg_replace('#\[\*\](.*)\n#Umi',
'[*:'.$bbcodeuid.']\1',
$str);
$str = preg_replace('=\[img\](.*)\[/img\]=Uis',
'[img:'.$bbcodeuid.']\1[/img:'.$bbcodeuid.']',
$str);
$str = preg_replace('#\[quote\](.*)\[\/quote\]#Uis',
'[quote:'.$bbcodeuid.']\1[/quote:'.$bbcodeuid.']',
$str);
$str = preg_replace('#\[code\](.*)\[\/code\]#Uis',
'[code:'.$bbcodeuid.']\1[/code:'.$bbcodeuid.']',
$str);
$str = preg_replace('#\[color=(.*)\](.*)\[\/color\]#Uis',
'[color=\1:'.$bbcodeuid.']\2[/color:'.$bbcodeuid.']',
$str);
$str = preg_replace('#\[size=(.*)\](.*)\[\/size\]#Uis',
'[size=\1:'.$bbcodeuid.']\2[/size:'.$bbcodeuid.']',
$str);
$str = preg_replace('#\[list\](.*)\[\/list\]#Uis',
'[list:'.$bbcodeuid.']\1[/list:'.$bbcodeuid.']',
$str);
$str = preg_replace('#\[list=(.*)\](.*)\[\/list\]#Uis',
'[list=\1:'.$bbcodeuid.']\2[/list:'.$bbcodeuid.']',
$str);
return $str;
}
Ich hoffen ich konnte irgendwem helfen
Gruß Hasu0bs
Verfasst: 11.04.2007 22:51
von Pyramide
Man kann übrigens auch die vorhandenen Funktionen bbencode_first_pass() und bbencode_second_pass() nutzen.
Siehe auch: KB:bbcode_uid