PHP-Funktion Genitiv
21.02.2009 in: PHP, Sprache, Trickkiste und Zeichen • 4 Kommentare
Letzte Änderung: 06.12.2009, 00:42 Uhr.
Über den Deppenapostroph hat sich bestimmt jeder schon einmal geärgert, der Wert auf gutes Deutsch legt. Umso nerviger ist schlecht übersetzte Software, die einem dann doch hinterrücks einen Apostroph oder ein falsches Genitiv-S dorthin setzt, wo es nicht hingehört.
Dabei ist die Regel sehr einfach: Ein Apostroph (U+2019) wird immer dann gesetzt, wenn das Wort mit s, ß, x, z oder ce endet. Ansonsten benutzt man ein Genitiv-S. Niemals beides.
Peters Schuhe und Hans’ Jacke.
Diese PHP-Funktion gibt immer die richtige Form zurück:
function genitiv($word) { // U+2019 oder s $suffix = 's
'; $word = trim($word); if ( in_array ( substr($word, -1), array('s
', 'ß
', 'x
', 'z
') ) ) { $suffix = '’
'; } if ( 'ce
' == substr($word, -2) ) { // Alice’ Tante $suffix = '’
'; } return $word . $suffix; }
Nachtrag (14. Juli, 2009): Diese Funktion steht jetzt als Online-Tool im Labor.
Mich gruselt es nach jedem Einloggen auf Amazon.de: »Larss Amazon.de«.
Ja, mein Nachname lädt immer wieder zum Verhunzen ein, daher kenne ich das.
Schön, mal wieder was von dir zu lesen, Lars.
nice
auf deiner idee basierend hab ichs noch etwas verfeinert:
test cases:
@mark: Wann braucht man die kompromittierte Form, wenn man doch die saubere erzeugen kann?