Seite 1 von 1
Linkzensur, aber wie
Verfasst: 30.09.2008 09:00
von pimboli
Hallo Leute,
ich möchte verhindern, dass bestimmte Links im Forum gespamt werden. Über die Wortzensur habe ich es nur hinbekommen, wenn die genaue URL eingegeben wird. Packt die jemand in den URL-Tag, klappt das aber nicht. Wenn jemand eine Unterseite der gesperrten URL angibt klappts auch nicht.
Beispiel: Ich sperre mit der Wortzensur die URL
dann klappt die Sperre. Aber wenn jemand
eingibt, dann klappt die Sperre nicht.
Auch wenn jemand
eingibt klappt die Sperre nicht. Auch nicht, wenn ich mit Platzhaltern, also * arbeite. Für 2.0 gabs ja das Linkzensur Mod. Was kann ich nun in der Version 3.0 tun?
Verfasst: 30.09.2008 09:19
von 4seven
hallo,
möchtest du verhindern, das diese urls gepostet werden können oder 'nur',
das sie im post angezeigt werden (oder beides)?
Verfasst: 30.09.2008 10:10
von pimboli
Also am liebsten wäre es mir, wenn die URL garnicht angezeigt wird oder durch einen Hinweistext ersetzt wird.
Verfasst: 30.09.2008 10:56
von 4seven
resultat:
http://www.loaditup.de/files/275307.png
öffne
viewtopic.de
finde
dahinter füge ein
Code: Alles auswählen
$match_1 = 'url';
$censored_txt = 'Nicht erlaubte Url';
$search_pattern[0] = "!http\:\/\/www.google.de(.*?)!";
$search_pattern[1] = "!\[$match_1\]google(.*?)de(.*?)\[\/$match_1(.*?)\]!";
$search_pattern[2] = "!\[$match_1(.*?)\](.*?)google(.*?)de(.*?)\[\/$match_1\:(.*?)\]!";
$search_pattern[3] = "!\[$match_1=google(.*?)de(.*?)\](.*?)\[\/$match_1(.*?)\]!";
$search_pattern[4] = "!\[$match_1=(.*?)google(.*?)de(.*?)\](.*?)\[\/$match_1\:(.*?)\]!";
$pattern_replacement[0] = $censored_txt;
$pattern_replacement[1] = $censored_txt;
$pattern_replacement[2] = $censored_txt;
$pattern_replacement[3] = $censored_txt;
$pattern_replacement[4] = $censored_txt;
$target_source = $row['post_text'];
$message = preg_replace($search_pattern, $pattern_replacement, $target_source);
-
$censored_txt anpasssen oder
leer
-
google und
de anpassen (nichts anderes)
Verfasst: 30.09.2008 12:53
von pimboli
Danke!! Das klappt super!
Leider habe ich vom programmieren keine Ahnung. Daher eine abschließende Frage. Wie muss ich es anstellen, wenn ich mehrere URLs sperren will?
Verfasst: 30.09.2008 13:10
von 4seven
du kopierst die funktion
und erweiterst die nummerierung
[*] fortlaufend bei
$search_pattern und
$pattern_replacement ..
also so:
Code: Alles auswählen
$match_1 = 'url';
$censored_txt = 'Nicht erlaubte Url';
$search_pattern[0] = "!http\:\/\/www.google.de(.*?)!";
$search_pattern[1] = "!\[$match_1\]google(.*?)de(.*?)\[\/$match_1(.*?)\]!";
$search_pattern[2] = "!\[$match_1(.*?)\](.*?)google(.*?)de(.*?)\[\/$match_1\:(.*?)\]!";
$search_pattern[3] = "!\[$match_1=google(.*?)de(.*?)\](.*?)\[\/$match_1(.*?)\]!";
$search_pattern[4] = "!\[$match_1=(.*?)google(.*?)de(.*?)\](.*?)\[\/$match_1\:(.*?)\]!";
$search_pattern[5] = "!http\:\/\/www.weitere_domain.de(.*?)!";
$search_pattern[6] = "!\[$match_1\]weitere_domain(.*?)de(.*?)\[\/$match_1(.*?)\]!";
$search_pattern[7] = "!\[$match_1(.*?)\](.*?)weitere_domain(.*?)de(.*?)\[\/$match_1\:(.*?)\]!";
$search_pattern[8] = "!\[$match_1=weitere_domain(.*?)de(.*?)\](.*?)\[\/$match_1(.*?)\]!";
$search_pattern[9] = "!\[$match_1=(.*?)weitere_domain(.*?)de(.*?)\](.*?)\[\/$match_1\:(.*?)\]!";
$pattern_replacement[0] = $censored_txt;
$pattern_replacement[1] = $censored_txt;
$pattern_replacement[2] = $censored_txt;
$pattern_replacement[3] = $censored_txt;
$pattern_replacement[4] = $censored_txt;
$pattern_replacement[5] = $censored_txt;
$pattern_replacement[6] = $censored_txt;
$pattern_replacement[7] = $censored_txt;
$pattern_replacement[8] = $censored_txt;
$pattern_replacement[9] = $censored_txt;
$target_source = $row['post_text'];
$message = preg_replace($search_pattern, $pattern_replacement, $target_source);
-
weitere_domain und
de anpassen
usw. usf.
Code: Alles auswählen
$match_1 = 'url';
$censored_txt = 'Nicht erlaubte Url';
..und..
Code: Alles auswählen
$target_source = $row['post_text'];
$message = preg_replace($search_pattern, $pattern_replacement, $target_source);
lässt du unangetastet.
Verfasst: 30.09.2008 13:37
von Metzle
Hallo,
alternativ kannst du dir auch die Mod
th23 Autolinks einbauen, die dir die Sachen ersetzt.
Verfasst: 30.09.2008 13:48
von 4seven
Jup Metzle,
Alternativen gibt es immer..
Verfasst: 30.09.2008 14:31
von pimboli
Vielen Dank für Eure gute Hilfe. Ich habe nun 4sevens Vorschlag eingebaut, der mich überzeugt hat. Funktioniert einwandfrei.