Hallo Freunde,
ich habe ein Problem und zwar möchte ich bei Formulardaten wie Vorname, Nachname usw. die Gross-/Kleinschreibung korrigieren.
Jedoch komme ich nicht weiter.
Wenn z.B. der Vorname Trennzeichen enthält wie "+", "-", " " (Leerzeichen), oder auch andere Trennzeichen, möchte ich dass das Wort hinter dem Trennzeichen mit einem großen Buchstaben geginnt.
Beispiel:
Heinz-georg -> Heinz-Georg
Heinz georg -> Heinz Georg
Dazu habe ich eine Klasse erzeugt, bei dem im Konstruktor die Formulardaten korrigiert werden sollen. (Entwurf)
Ausgabe:
heinz_georg@xxx.de
Herr
Heinz Georg
Die Korrektur wird vorgenommen.
Aber der Vorname wird leider nicht mit Trennzeichen zurückgeliefert.
Die Funktion strtok(string str, string token) liefert angeblich den token nicht mit oder so ...
Habt ihr vielleicht eine Lösung womit ich das Trennzeichen auch noch mitliefern kann? Oder muss ich die Länge des Strings ermitteln ab dem Trennzeichen usw.
Ich wäre sehr dankbar, wenn jemand schon eine fertige Lösung dafür hat.
Grüsse,
Ati
ich habe ein Problem und zwar möchte ich bei Formulardaten wie Vorname, Nachname usw. die Gross-/Kleinschreibung korrigieren.
Jedoch komme ich nicht weiter.
Wenn z.B. der Vorname Trennzeichen enthält wie "+", "-", " " (Leerzeichen), oder auch andere Trennzeichen, möchte ich dass das Wort hinter dem Trennzeichen mit einem großen Buchstaben geginnt.
Beispiel:
Heinz-georg -> Heinz-Georg
Heinz georg -> Heinz Georg
Dazu habe ich eine Klasse erzeugt, bei dem im Konstruktor die Formulardaten korrigiert werden sollen. (Entwurf)
PHP-Code:
<?php
class FormCorrect {
var $email;
var $titel;
var $fname;
function FormCorrect($email, $anrede, $vorname) {
$this->email = strtolower(trim($email));
$this->titel = $anrede;
$vorname = trim($vorname);
if(!preg_match("/^[a-zäöüß]+$/i", $vorname)) { // Prüft ob in $vorname nur Buchstaben enthalten sind
$sonderz = "+- ";
$new_vorname = strtok($vorname, $sonderz); // Zerlegt $vorname anhand von $sonderz
$vorname = "";
while($new_vorname) {
$vorname .= ucfirst(strtolower($new_vorname)) . " "; // Erzeugt $vorname neu
$new_vorname = strtok($sonderz);
}
$this->fname = $vorname;
}
else {
$vorname = strtolower($vorname);
$vorname = ucfirst($vorname);
$this->fname = $vorname;
}
}
function Show() {
foreach($this as $wert) {
echo $wert . "<br>";
}
}
}
?>
<?
$form = new FormCorrect("HeINZ_geoRG@xxx.de", "Herr", "HeiNZ-geOrg");
$form->Show();
?>
heinz_georg@xxx.de
Herr
Heinz Georg
Die Korrektur wird vorgenommen.
Aber der Vorname wird leider nicht mit Trennzeichen zurückgeliefert.
Die Funktion strtok(string str, string token) liefert angeblich den token nicht mit oder so ...
Habt ihr vielleicht eine Lösung womit ich das Trennzeichen auch noch mitliefern kann? Oder muss ich die Länge des Strings ermitteln ab dem Trennzeichen usw.
Ich wäre sehr dankbar, wenn jemand schon eine fertige Lösung dafür hat.
Grüsse,
Ati
Kommentar