Что я хочу
Я хочу добраться от a URL
domain
часть так от http://example.com/
-> example.com
Примеры:
+----------------------------------------------+-----------------------+
| input | output |
+----------------------------------------------+-----------------------+
| http://www.stackoverflow.com/questions/ask | www.stackoverflow.com |
| http://validator.w3.org/check | validator.w3.org |
| http://www.google.com/?q=hello | www.google.com |
| http://google.de/?q=hello | google.de |
+----------------------------------------------+-----------------------+
Я нашел некоторые связанные вопросы в stackoverflow
но ни один из них не был точно, что я искал.
Спасибо за любую справку!
Нет необходимости использовать regex для этого. В PHP есть встроенная функция, которая делает именно это. Use parse_url()
:
$domain = parse_url($url, PHP_URL_HOST);
Вот мое быстрое и грязное решение.
http: // ([^ /] +). *
Я не тестировал его, но он должен захватывать все, что находится между http: //
и первой косой чертой.
if (preg_match('/http:\/\/([^\/]+)\//i', $target_string, $matches)) {
$domain = $matches[1];
}
Предполагает, что http://
префиксы все.
$tmp = explode("/", $url);
$domain = $tmp[2];