Seite 1 von 2
Großschreibung ("Schreien") unterbinden?
Verfasst: 09.02.2009 16:59
von buddha1
Hallo!
Betreibe ein Forum und da stört mich momentan vor allem das STÄNDIGE SCHREIEN EINIGER USER oder andere, die meinen nach jedem Satz hundert Ausrufezeichen zu machen!!!!!!!!!!!!!!!!!!!!!!
Gibt es irgendeinen Mod der vor allem das Schreien verhindert?
Danke..
Gruß
Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 11.02.2009 00:31
von sepp71
Uah, das würd' mich auch nerven.
Tut mir leid, dass ich nur zu den unwichtigeren Ausrufezeichen raten kann: Geht das nicht mit der Wortzensur? Mehrere Ausrufezeichen durch eines ersetzen?
Zum anderen Teil: Verwarnen oder disziplinierend nachfragen ("Wer schreit denn hier so rum?")?
Sepp
Edit: Oder ab dem dritten Ausrufezeichen durch einen Text ersetzen, wie z.B. [schrei rum] oder so? Das könnte ja durchaus in Kombination auftreten.
Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 12.02.2009 00:35
von ups
mit der wortzensur müßte das gehen
einfach ein stern hinter dem ! setzen (!*) und als ausgabe (!) setzen
wegen der großschreibung, da gibts sicherlich irgendwo ein script der die shift taste ausschaltet, ebenso die rechte maustaste. ich denke da findet sich sicher was bei google.
oder als variante: den/die user verbannen für 1-2 tage....das kühlt die meisten ab und ist eher zu empfehlen
ups
Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 16.12.2011 17:24
von sepp71
Der Lösungsvorschlag von ups hat es bei mir nicht gebracht:
Ich habs nicht nur mit Gründer bzw. Admin, sondern auch mit einem normalen Testuser versucht - die Ausrufezeichen wurden nicht vollständig zensiert.
Wenn man als Code
=> ! benutzt, gibt es lustige Effekte, weil die Zahl der Ausrufezeichen halbiert wird (immer zwei werden zu einem). Mit ungeraden Zahlen kommt die Wortzensur nicht zurecht (*!!!*), auch dann nicht, wenn man zuerst die Wortzensur für drei Ausrufezeichen und dann die für zwei anwendet.
Schade.
Hat jemand noch einen Formulierungsidee? (Eine Mod wäre mir dafür dann aber wohl doch zu aufwendig).
Sepp
Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 16.12.2011 19:14
von BNa
Function Prattchet (thx to Rudy)
Ersetzt zB.
!!!!!!!!!!!!!!!!!!
mit
!
???????????????
mit
?
usf.
öffne
viewtopic.php
finde
Code: Alles auswählen
// Output the posts
$first_unread = $post_unread = false;
for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
{
davor füge ein
Code: Alles auswählen
function pratchett($text) {
$text = preg_replace('/([\?!])[\s]+([\?!])/', '$1$2', $text); // 1
$text = preg_replace('/!1+/', '!', $text); // 2
$text = preg_replace('/\?[ß\/]+/', '?', $text); // 3
$text = preg_replace('/\?[\']{2,}/', '?\'', $text); //4
$text = preg_replace('/\?+/', '?', $text); // 5
$text = preg_replace('/\!+/', '!', $text); // 6
$text = preg_replace('/(\?\')+/', '?\'', $text); //7
$text = preg_replace('/(\?!)+|(!\?)+/', '?!', $text); //8
return $text;
}
Rudy hat geschrieben:1) Filtert die Leerzeichen heraus
2) ersetzt die zu schnell ausgelassenen Shifts beim Ausrufezeichen !!!!!!!!!!!!!!!!!!1111
3) ersetzt die zu schnell ausgelassenen Shifts beim Fragezeichen, deutsche und englische ???????????ßßß und ?????????///// Tastaturbelegung
4) ersetzt die zu schnell ausgelassenen Shifts beim Fragezeichen für die Italienische Tastatur, ist heikler, da es das Apostroph ist
5) und 6) ersetzen die mehrfachen ? und !
7) ersetzt für italienische Tastatur die mehrfachen ?', wenn jemand sowas getippt hat: ?'''??????' und es gefiltert zu ?'?' wurde
8 ) ersetzt ?!?!?!?! und !?!?!?! durch ?!
finde
ersetze mit
Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 16.12.2011 19:28
von BNa
Function Fix Shouting (thx to Boris)
Ersetzt konsequente
GROSSSCHREIBUNG
öffne
viewtopic.php
finde
Code: Alles auswählen
// Output the posts
$first_unread = $post_unread = false;
for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
{
davor füge ein
Code: Alles auswählen
function fix_shouting($content)
{
$new_content = '';
$content = preg_replace("/\r\n|\r|\n/", "\n", $content);
$encoding = mb_detect_encoding($content);
// $encoding = 'ISO-8859-1';
$lines = explode("\n", $content);
foreach($lines AS $line)
{
$line = trim($line);
// Wenn die Zeile nichts enthält (außer Umbrüche), brauchen wir nichts zu machen
if($line != '')
{
$words = explode(" ", $line);
foreach($words AS $word)
{
if(mb_strtoupper(trim($word), $encoding) === trim($word))
$new_content .= mb_strtolower(trim($word), $encoding) . ' ';
else
$new_content .= trim($word). ' ';
}
}
$new_content .= "\n";
}
unset($content, $encoding, $lines, $line, $words, $word);
return $new_content;
}
finde
ersetze mit
Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 16.12.2011 19:30
von BNa
Diese beiden Snippets können auch gemixt werden, siehe hier
http://www.4seven.de/forum/6test/viewto ... p=236#p236
Da steht im Original eigentlich
Hallo !!!!!!!
HALLOO HAAAALLLOOOOOO ????!!!!
Hallo ??????
user: test / pw: testuser
Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 16.12.2011 19:50
von Miriam
Idee:
finde in der /includes/functions_content.php
Code: Alles auswählen
if (sizeof($censors))
{
return preg_replace($censors['match'], $censors['replace'], $text);
}
Danach füge ein:
Code: Alles auswählen
//Ausrufezeichen auf 1x "!" reduzieren
$suchmuster = '/\!{1,}/';
$ersetzung = '!';
$text = preg_replace($suchmuster, $ersetzung, $text);
Edit: Zu spät.

Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 16.12.2011 20:05
von BNa
Miriam hat geschrieben:Edit: Zu spät.
Warum? Möglicherweise ist ja Deine Lösung in Verbindung mit dem klassischen
censor_text
und deren Engine performanter.
Einfach mal probieren. Das allerdings nur, wenn man reine
!!!!!!!
unterbinden will.
Re: Großschreibung ("Schreien") unterbinden?
Verfasst: 16.12.2011 21:57
von sepp71
Herzlichen Dank Euch beiden! Wahnsinn, was Ihr da aufgetrieben habt (und peinlich, dass ich das nicht selbst gefunden hatte

)
Da habe ich mit der Lektüre und dem Einbau nun etwas zu tun - natürlich melde ich mich mit meinem Ergebnis zurück.
Sepp