Ich kenn das STG PN System jetzt nicht, allerdings sollte sich die Stelle rausfinden lassen, an der die PNs "verschickt" (also in die Datenbank eingetragen) werden.

Vor dem "INSERT INTO ...." hoffe ich mal, passiert iwie sowas in der Art:
PHP-Code:
$pninhalt htmlentities(.....);
$pninhalt addslashes(...);
//etc. 
dort kann man dann bspw.:

PHP-Code:
$_POST['pntext'] = preg_replace'/(http:\/\/|www\.)[a-zA-Z\._\-\/\?&=0-9]+/i'  '***'  $_POST['pntext']); 
PHP-Code:
$_POST['pntext'] = preg_replace'/[a-zA-Z0-9\-]+\.(de|com|net|org)[a-zA-Z\._\-\/\?&=0-9]*/i'  '***'  $_POST['pntext']); 
einfügen ($_POST['pntext'] entsprechend anpassen).

Muss man nur sinnvolle reguläre Ausdrücke finden, die beiden sind teilweise schon etwas zu "agressiv", wobei sie schon einiges abdecken sollten. Allerdings lassen die sich natürlich auch austricksen (bspw. Leerzeichen in der URL zw. den "Punkt" und das "DE" usw.). Daher am besten noch selber den ein oder anderen Ausdruck dazu, da die User diese ja nicht kennen, dürfte das für die meisten ausreichend sein.

Allerdings kann ich dir jetzt schon sagen, was dann passieren wird:

Hi,

Lust auf 10 Mio. Lose und eine Seite mit mega Anteilen und Sparbuch? Sauviele Forcedbanner und KEIN V-Check?
Tägl. Gutscheine ohne AP Voraussetzung...
*lechz/fake/abzock*

Hab dir PN auf Klamm geschickt mit Link, meld dich doch bitte an.