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.
Lars Kasper am 17.03.2009 · 11:02
Mich gruselt es nach jedem Einloggen auf Amazon.de: »Larss Amazon.de«.
Thomas Scholz am 17.03.2009 · 11:18
Ja, mein Nachname lädt immer wieder zum Verhunzen ein, daher kenne ich das.
Schön, mal wieder was von dir zu lesen, Lars.
mark am 25.08.2010 · 15:46
nice
auf deiner idee basierend hab ichs noch etwas verfeinert:
test cases:
Thomas Scholz am 25.08.2010 · 15:59
@mark: Wann braucht man die kompromittierte Form, wenn man doch die saubere erzeugen kann?