präfix

Rev

Erfahrenes Mitglied
hi!
also im text dürfen keine Sonder- oder Leerzeichen, sondern nur Buchstaben A-Z, a-z oder Ziffern 0-9 vorkommen:


mein ereg sieht so aus:
[a-zA-Z0-9]
dann gehen aber ä ö und so noch, wie schliess ich das aus?
 
also wenn du meinst, dass man eine eingabe nur machen darf, wenn der kram net drin is, und wenn es es doch geschiet eine fehlermeldung ausgegeben wird, dann wäre die substr_count()-funktion was für dich....

die funktion gibt einen int mit der anzahl der vorkommen von 'nadel' in 'häuhaufen' an: substr_count('nadel','Häuhaufen');

also könntes du für jeden nicht erwünschten buchstaben prüfen:

PHP:
if(substr_count('ä',$eingabe)>0){
  echo 'eingabe nicht korrekt';
}

das muss man dann halt auf mehrere zeichen erweitern und natürlich soll der fehler nur ein mal ausgegeben werden.....

PHP:
$will_ich_net = ['ä','ü','ö','ß'];
$i = 0;
$fehler = false;
while(($i<count($will_ich_net))&&($fehler==false)){
  if(substr_count($will_ich_net[$i])>0){
    $fehler = true;
  }
}
if($fehler){
  echo 'falsche eingabe';
}
else{
  echo 'korrekte eingabe';
}



willst du aber auch das eingeben lassen und dann einfach den string verändern, so kannst du die funktion str_replace (string needle, string str, string haystack) benutzen......
hier wird der string needle in haystack durch str ersetzt......


hilft das??????

//bad taste
 
oder du lässt die buchstaben einfach rauslöschen (auch wenns dann vielleicht doofe texte gibt:

PHP:
$will_ich_net = ['ä','ü','ö','ß']; //funzt das? ich machs einfach mal nach

$deintext = str_replace("$will_ich_net","","$deintext");

dürfte funzen.
dann wird z.B. aus

österreich >>>>>>>>>>>>> sterreich

naja, wäre ja doof.
mach ma das doch lieber so:

PHP:
$deintext = str_replace("ä","ae","$deintext");
$deintext = str_replace("ö","oe","$deintext");
$deintext = str_replace("ü","ue","$deintext");

...

dann müsstest du aber mehrere sachen festlegen.
also ich würde die umlaute hier alle so in "ae", "oe" und "ue" umwandeln lassen (wenn möglich vielleicht auch die veränderung mit hinweis ausgeben, dass der user oder der, der das eingegeben hat auch weiß, dass was verändert wurde!) und die restlichen umlaute so dann ersetzen lassen:

PHP:
$will_ich_net = ['!','"','§','$','%','/','{','(','[',']; 

//hmm...wenn das geht, sind alle zeichen bis auf ' dabei

$deintext = str_replace("ä","ae","$deintext");
$deintext = str_replace("ö","oe","$deintext");
$deintext = str_replace("ü","ue","$deintext");
$deintext = str_replace("$will_ich_net","","$deintext");

...

also wenns funzt, dass man alles in eine variable speichert, dann dürfte das hier funzen.

wenn nicht hab ich mich geirrt!sorry..
 
jo das müsste schon funzen, so meinte ich das ja auch, hatte nur keine lust, das alles so genau aufzuschreiben...:)

aber es wäre schon gut mal zu wissen, was du meinst REV.......

war das was du wolltest, oder net????
 

Neue Beiträge

Zurück