Шаблон REGEX для проверки URL - PullRequest
0 голосов
/ 09 января 2011

Я использую эту функцию PHP для проверки URL.

$url = preg_replace("/[^A-Za-z0-9-\/\.\:]/", "", trim($url));
$url = preg_replace('%^(?!https?://www\.).*%', 'http://www\.$0', $url);

Но это не идеально для меня. Я хочу, чтобы этот контроль:

1 - это начинается с http:// или https://? Если нет, добавьте http (или https )

2 - Если у него нет поддоменов и если у него нет www , добавьте. Но если у него есть поддомен, не добавляйте www .

Примеры:

example.com
CONVERT -> http://www.example.com

www.example.com
CONVERT -> http://www.example.com

subdomain.example.com
CONVERT -> http://subdomain.example.com

http://subdomain.example.com
CONVERT -> http://subdomain.example.com

Итак, мне нужно улучшить мой шаблон REGEX. Но я не могу. Как я могу использовать это?

1 Ответ

0 голосов
/ 09 января 2011

Удалите www\. из второго регулярного выражения.Это заставит его работать на примерах субдоменов.

Если вы хотите сделать его более интеллектуальным, используйте if и второе регулярное выражение, чтобы проверить ^(\w+://)?\w+\.\w+$, перед префиксом http: // илидополнительный www.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...