Umlaute im Topic-Titel verbieten

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Umlaute im Topic-Titel verbieten

Beitrag von musteng »

Hello
Suche einen Mod der bei der topic titel umlaute und sonderseichen verbietet,Also es soll ganz Standard a-z 1-9 benutzt verden.Das ganze auch für extra information.Habe überall gesucht keine kennt so einen mod.

Mfg
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Naja, man kann das hier anpassen, wenn es sein sollte: http://www.oxpus.de/viewtopic.php?p=70007#70007
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Wen du das anpassen köntest wehre Super.Kan ich das einfach so um ändern.

Code: Alles auswählen

if ($subject && preg_match("/([aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789])/", $subject{0})) 
         { 
            message_die(GENERAL_ERROR, $lang['First_letter_not_big']); 
         }
klapt nicht :D
Zuletzt geändert von musteng am Mo 09.Apr, 2007 05:50, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Code: Alles auswählen

if ($subject && preg_match("/([a-zA-Z0-9])/", $subject))
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Leider klapt nicht :(

Code: Alles auswählen

if ($subject && preg_match("/([a-zA-Z0-9])/", $subject)) 
         { 
            $error_msg .= (($error_msg) ? '<br />' : '') . $lang['First_letter_not_big'];
 
         } 
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

[a-zA-Z0-9] oder auch [:alnum:] (diese beiden Ausdrücke sind identisch) schließen Sonderzeichen (ä,ü,ö,ß) mit ein. :D
Man müsste also entweder jeden erlaubten Buchstaben explizit nennen oder die Verbotenen ausschließen. ;)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Ja Sonderseichen wie (ä,ü,ö,ß) Sollten Benutzt werden.

mfg
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

:eek: Was möchtest du denn dann verbieten? ^1
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

[quote="AmigaLink";p="71991"][a-zA-Z0-9] oder auch [:alnum:] (diese beiden Ausdrücke sind identisch) schließen Sonderzeichen (ä,ü,ö,ß) mit ein. :D
Man müsste also entweder jeden erlaubten Buchstaben explizit nennen oder die Verbotenen ausschließen. ;)[/quote]

Das wäre mir neu, da die Umlaute im ASCII-Code nicht zwischen a-z und A-Z liegen!
Dann wäre das ein eindeutiger Fehler in der Funktion.
Aber man könnte die dann auch ausschliessen:
[a-zA-Z0-9^ä^ö^ü^ß^Ü^Ö^Ä]

Und ja, warum willst Du diese dann im ersten Post verbieten und nun nicht mehr?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Das wäre mir neu, da die Umlaute im ASCII-Code nicht zwischen a-z und A-Z liegen
Das eine hat mit dem anderem nichts zu tun! :)

[a-z] oder [:lower:] = Kleine Buchstaben
[A-Z] oder [:upper:] = Großbuchstaben
[a-zA-Z] oder auch [:alpha:] = Klein- und Großbuchstaben
[0-9] oder auch [:digit:] = Zahlen bzw. Ziffern
[:alnum:] = [:alpha:] und [:digit:]
[:punct:] = Zeichen wie: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
[:graph:] = [:alnum:] und [:punct:]
[:space:] = Horizontaler und vertikaler Tabulator, Zeilen- und Seitenvorschub, Wagenrücklauf und Leerzeichen
[:print:] = Druckbare Zeichen (also [:alnum:], [:punct:] und Leerzeichen)
[:xdigit:] = Hexadezimale Ziffern: 0 bis 9, A bis F, a bis f

Wobei des sich bei den Buchstaben um Lateinische handelt und sie locale-abhängig sind!
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Nein ich will das nicht im ersten buchstabe verbieten wir haben uns falsch verstanden,Ich möchte das komplet verbieten also keiner soll *#"%/()<> und und :D Benutzen dürfen.Die sollen ganz normale alphabet benutzen wie ich da oben gepostet habe.

Hier eine beipsiel für die registrierung

Code: Alles auswählen

# 
#-----[ OPEN ]----- 
# 
includes/usercp_register.php 


# 
#-----[ FIND ]----- 
# 
   if ( $board_config['allow_namechange'] || $mode == 'register' ) 
   { 


# 
#-----[ AFTER, ADD ]----- 
# 
      $check_string = 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789'; 
      $check_errors = 0; 


      for ($i = 1; $i <= strlen($username); $i++) 
      { 
         $j = $i - 1; 
         $check_char = $username{$j}; 
         if (!strpos($check_string, $check_char)) 
         { 
            $check_errors++; 
         } 
      } 


      if ($check_errors != 0) 
      { 
         $error = TRUE; 
         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . sprintf($lang['Username_not_alphanumeric'], $check_errors); 
      } 


# 
#-----[ OPEN ]----- 
# 
language/lang_german/lang_main.php 


# 
#-----[ FIND ]----- 
# 
?> 


# 
#-----[ BEFORE, ADD ]----- 
# 
$lang['Username_not_alphanumeric'] = 'Der Benutzername muss alphanumerisch sein. Der eingegebene Name beinhaltet %s ungültige Zeichen!'; 




# 
#-----[ SAVE/CLOSE ALL FILES ]----- 
# 
# EoM
Zuletzt geändert von musteng am Mo 09.Apr, 2007 17:28, insgesamt 1-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Die sollen ganz normale alphabet benutzen wie ich da oben gepostet habe.
Womit jetzt der kleine aber entscheidende Unterschied zwischen Sonderzeichen und Umlauten geklärt wäre. :D (Dein erster Beitrag, sowie der titel des Topics ist da eindeutig falsch ausgedrückt. ;))

Ok, du willst also Umlaute erlauben und Sonderzeichen nicht. (Hat eine gewisse Logik wenn man mal drüber nachdenkt.)
Hier eine beipsiel für die registrierung
Was für eine unnötig komplizierte Lösung. ^5
Der einzige Vorteil dieser Methode ist das die Anzahl der falschen Zeichen ermittelt und ausgegeben wird, was mittels RegEx nicht möglich ist.

Wie dem auch sei. Hier ist die Lösung die du suchst:

Code: Alles auswählen

if ($subject && !preg_match('/^[[:alnum:][:space:]]+$/', $subject ))
{
	message_die(GENERAL_ERROR, $lang['no_special_character_allowed']);
}
Allerdings sind so auch !?;,. Verboten!

// EDIT
Das ist eine echt nette Aufgabe!
Ich hab bei mir eine etwas edlere Variante (in Bezug auf die Fehlermeldung) mit leicht erweiterten POSIX-Regeln umgesetzt. Es sind nur noch Buchstaben, Ziffern sowie die Satzzeichen .,!?-[] erlaubt. :)
Dummerweise scheitere ich nun bereits seit 2 Stunden an der Genehmigung des &. ¦9
Zuletzt geändert von AmigaLink am Mo 09.Apr, 2007 22:00, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wie wäre es mit \& ?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Hatte ich auch Gedacht (obwohl & IMHO kein Metazeichen ist). Geht aber nicht. :(
Interessant war auch das erlauben des ?. Dafür musste ich \\? nehmen, was ich schon nicht verstehen kann. ^1
(Jetzt sag bitte nicht \\& das klappt nämlich nicht.)

// EDIT
Aaaaahhhhhh - ich IDIOT. :wall:
Eben kam mir auf der Keramik die Erleuchtung. :D
Das werde ich aber erst Morgen umsetzen. Denn in 2 Stunden muss ich Arbeiten und würde bis dahin gerne noch ein wenig Schlafen.
Zuletzt geändert von AmigaLink am Mo 09.Apr, 2007 22:58, insgesamt 2-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Ich habe das probiert das funkzuniert schon aber kan ich das nicht so machen das nur dieser buchstaben erlaubt sind.
aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOöÖpPqQrRsStTuUüÜvVwWxXyYzZ0123456789-_,.

mfg
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Nimm meinen Code aus Beitrag #12 oder warte bis Morgen.
Wenn ich es geschafft habe das & zu erlauben, dann werde ich meinen neuen Code als Snippet (oder Mini MOD) veröffentlichen. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Naja die habe ich auch genommen aber der erlaubt auch nicht öüä,._- nicht :D
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Weil die auch nicht in :alnum: enthalten sind ;)
Aber ich lass AmigaLink da nochmal dran arbeiten :D
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

http://www.amigalink.de/phpbb2/viewtopi ... =1074#7401 :D

Wie gesagt, die Umlaute sind localebedingt in :alnum: drin oder auch nicht.
Im Web scheinen sie allgemein nicht drin zu sein. Bei mir local sind sie es. ^6
Ist aber auch wurst, denn wie man sieht sind die sehr schnell integriert. :)

Aus dem Ding wird übrigens kein Snippet, sondern ein richtiger MOD. Ich hab mir nämlich noch etwas einfallen lassen. :D
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Ich habe mich bei dir angemeldet,Meine mail adresse ist vorubergehend gesspert :mad: Kan meine acount nicht aktiviern.

Hastdu das fertig?
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Meine mail adresse ist vorubergehend gesspert mad Kan meine acount nicht aktiviern.
Ich hab dich aktiviert.
Hastdu das fertig?
Ein bisschen Zeit brauch ich noch.

// EDIT
Nun ist das ganze im ACP Konfigurierbar. :cool:
Noch ein bisschen Feinschliff und der MOD ist fertig.
Zuletzt geändert von AmigaLink am Di 10.Apr, 2007 22:41, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Ami ich kan kaum warten wo ist sie ^a
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nicht drängeln.
Bedenke, daß hier alles auf freiwilliger Basis passiert!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

Ja ist schon Klar Bischen Spass Muss auch sein oder?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Sorry, aber bei solchen Posts verstehe ich keinen Spaß...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten