Подтвердить доменное имя PHP

Мне нужно проверить доменные имена с помощью PHP.
Только этот формат должен быть разрешен: google.com , subdomain.stack-overflow.org т. Д.
Он должен допускать только (в случае специальных символов)

Другим форматам не разрешается использовать: http, https,?,/index.php,www. и т. д. ни одно из них не должно быть разрешено.

Также я не хочу разрешать: localhost, mydomain.com

Я пробовал: FILTER_VALIDATE_URL но он принимает http и т. Д. Я также пробовал что-то регулярное выражение следующим образом: [a-z0-9-]+(.[a-z0-9-]+)

Но он позволяет ex: stackoverflow (без .org ).

Пожалуйста помоги.

Благодарю.

Ваше регулярное выражение было почти правильным. Просто . не подходит для «любого персонажа», а не только для «.». Итак, попробуйте это регулярное выражение:

 /([0-9a-z-]+\.)?[0-9a-z-]+\.[az]{2,7}/ 

Помните, что введены новые домены верхнего уровня. Они не используют латинские символы. Взгляните на http://many.at/idntlds/ .

Об исключении «mydomain.com»: вам нужно будет проверить это после применения регулярного выражения.