как разрешить апострофы в регулярных выражениях в php [закрыто]

Я хочу проверить строку, которая должна содержать только латинские буквы, тире и апострофы. Длина должна быть 2-50. все работает, но если строка содержит апостроф, функция возвращает false.

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

как включить апостроф в моем регулярном выражении? я также попробовал это

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

но все равно возвращает false

ОБНОВИТЬ:

Перед запуском этого метода я отфильтрую строку$name = htmlentities($name, ENT_QUOTES, "UTF-8");

Ответы на вопрос(1)

Ваш ответ на вопрос