elseif(stripos(strrev($name), 's') === 0 && stripos(strrev($name), 's') === 1)
Diese Bedingungen wird nie wahr, da bei beiden stripos-Aufrufen das s an Postion 0 gefunden wird.
Wieso sollte die Funktion nicht wahr werden? Es ist für Wörter gedacht die auf "ss" enden. Ich bin mir sicher, dass es wahr werden kann sollte so ein Wort vorkommen. Die Funktion substr ist, na klar, viel viel besser. Danke für den Tipp.
Im Moment sieht die funktion also so aus:
function apostrophe($name)
{
if(substr($name, -1) == 's')
{
return $name.''';
}
elseif(substr($name, -2) == 'ss')
{
return $name.''';
}
elseif(substr($name, -1) == 'ß')
{
return $name.''';
}
elseif(substr($name, -1) == 'x')
{
return $name.''';
}
elseif(substr($name, -1) == 'z')
{
return $name.''';
}
elseif(substr($name, -2) == 'ce')
{
return $name.''';
}
else
{
return $name.'s';
}
}
Das die Funktion den Namen wiedergibt, ist so gewollt, da sie Teil einer anderen Funktion ist die sich nur mit den Namen auseinandersetzt. Sie hat halt nur die eine Aufgabe.
Was den Tipp bezüglich des ß angeht muss ich noch einmal nachfragen. Wie genau hast du das gemeint?
lg torben