Wie man Apostrophe in regulären Ausdrücken in PHP zulässt [closed]

Ich möchte die Zeichenfolge überprüfen, die nur lateinische Buchstaben, Bindestriche und Apostrophe enthalten soll. Die Länge muss 2-50 sein. Alles funktioniert, aber wenn ein String Apostroph enthält, gibt die Funktion false zurück.

private function validName($name)
{
    if(!preg_match("/^[a-zA-Z\'\-]{2,50}$/", $name))
        return false;
    return true;
}

wie kann ich Apostroph in meinen regulären Ausdruck aufnehmen? Ich habe auch versucht, diese

preg_match("/^[a-zA-Z'-]{2,50}$/", $name)
preg_match("/^[a-zA-Z\'-]{2,50}$/", $name)
preg_match("/^[a-zA-Z'\-]{2,50}$/", $name)

aber es wird trotzdem false zurückgegeben

AKTUALISIEREN

Bevor ich diese Methode ausführe, filtere ich meinen String mit$name = htmlentities($name, ENT_QUOTES, "UTF-8");

Antworten auf die Frage(2)

Ihre Antwort auf die Frage