Hướng dẫn php regex get domain name from url - php regex lấy tên miền từ url

Những gì tôi muốn


Tôi muốn nhận được từ một phần

$domain = parse_url($url, PHP_URL_HOST);
0 vì vậy từ
$domain = parse_url($url, PHP_URL_HOST);
1 ->
$domain = parse_url($url, PHP_URL_HOST);
2

Examples:


+----------------------------------------------+-----------------------+
| 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             |
+----------------------------------------------+-----------------------+

Tôi đã tìm thấy một số câu hỏi liên quan trong

$domain = parse_url($url, PHP_URL_HOST);
3 nhưng không ai trong số chúng chính xác là những gì tôi đang tìm kiếm.

Cảm ơn vì bất kì sự giúp đỡ!

Hỏi ngày 9 tháng 8 năm 2010 lúc 17:00Aug 9, 2010 at 17:00

Hướng dẫn php regex get domain name from url - php regex lấy tên miền từ url

Adam Halaszadam HalaszAdam Halasz

56.2K63 Huy hiệu vàng146 Huy hiệu bạc212 Huy hiệu Đồng63 gold badges146 silver badges212 bronze badges

1

Không cần phải sử dụng regex cho việc này. PHP có chức năng sẵn có để làm điều này. Sử dụng

$domain = parse_url($url, PHP_URL_HOST);
4:

$domain = parse_url($url, PHP_URL_HOST);

Đã trả lời ngày 9 tháng 8 năm 2010 lúc 17:04Aug 9, 2010 at 17:04

2

Tôi sử dụng:

$domain = parse_url('http://' . str_replace(array('https://', 'http://'), '', $url), PHP_URL_HOST);

Bởi vì

$domain = parse_url($url, PHP_URL_HOST);
5 không trả lại khóa máy chủ khi thiếu lược đồ trong
$domain = parse_url($url, PHP_URL_HOST);
6.

Hướng dẫn php regex get domain name from url - php regex lấy tên miền từ url

Aniski

1.2431 Huy hiệu vàng16 Huy hiệu bạc31 Huy hiệu đồng1 gold badge16 silver badges31 bronze badges

Đã trả lời ngày 17 tháng 5 năm 2016 lúc 13:51May 17, 2016 at 13:51

Hướng dẫn php regex get domain name from url - php regex lấy tên miền từ url

$tmp = parse_url($url);
$url = $tmp['host']

Đã trả lời ngày 9 tháng 8 năm 2010 lúc 17:07Aug 9, 2010 at 17:07

Turbodturbodturbod

1.9482 Huy hiệu vàng16 Huy hiệu bạc31 Huy hiệu đồng2 gold badges16 silver badges31 bronze badges

Điều này giống như Regex từ Theraccoonbear nhưng với sự hỗ trợ cho các miền HTTPS.

if (preg_match('/https?:\/\/([^\/]+)\//i', $target_string, $matches)) {
  $domain = $matches[1];
}

Đã trả lời ngày 6 tháng 12 năm 2013 lúc 8:29Dec 6, 2013 at 8:29

fnkrfnkrfnkr

8.7986 Huy hiệu vàng 50 Huy hiệu bạc61 Huy hiệu Đồng6 gold badges50 silver badges61 bronze badges

Giả sử rằng

$domain = parse_url($url, PHP_URL_HOST);
7 có tiền tố mọi thứ.

$tmp = explode("/", $url);
$domain = $tmp[2];

Đã trả lời ngày 9 tháng 8 năm 2010 lúc 17:04Aug 9, 2010 at 17:04

Tôi sử dụng:Josh K

Bởi vì

$domain = parse_url($url, PHP_URL_HOST);
5 không trả lại khóa máy chủ khi thiếu lược đồ trong
$domain = parse_url($url, PHP_URL_HOST);
6.20 gold badges84 silver badges132 bronze badges

1

Aniski

1.2431 Huy hiệu vàng16 Huy hiệu bạc31 Huy hiệu đồng

$regexp = '/.*\/\/([^\/:]+).*/';

// www.stackoverflow.com
echo preg_replace($regexp, '$1', 'http://www.stackoverflow.com/questions/ask');

// google.de
echo preg_replace($regexp, '$1', 'http://google.de/?q=hello');

// it works for the other input tests too ;-)

Đã trả lời ngày 17 tháng 5 năm 2016 lúc 13:51Jul 27, 2019 at 5:36

Đã trả lời ngày 9 tháng 8 năm 2010 lúc 17:07Eugen Mihailescu

Turbodturbod2 gold badges29 silver badges29 bronze badges

1.9482 Huy hiệu vàng16 Huy hiệu bạc31 Huy hiệu đồng

$domain = parse_url($url, PHP_URL_HOST);
8

Điều này giống như Regex từ Theraccoonbear nhưng với sự hỗ trợ cho các miền HTTPS.

if (preg_match('/https?:\/\/([^\/]+)\//i', $target_string, $matches)) {
  $domain = $matches[1];
}
Aug 9, 2010 at 17:03

Đã trả lời ngày 6 tháng 12 năm 2013 lúc 8:29haydenmuhl

fnkrfnkr7 gold badges26 silver badges31 bronze badges

0

if (preg_match('/http:\/\/([^\/]+)\//i', $target_string, $matches)) {
  $domain = $matches[1];
}

8.7986 Huy hiệu vàng 50 Huy hiệu bạc61 Huy hiệu ĐồngAug 9, 2010 at 17:05

Giả sử rằng

$domain = parse_url($url, PHP_URL_HOST);
7 có tiền tố mọi thứ.theraccoonbear

Josh Kjosh k3 gold badges33 silver badges41 bronze badges

Phim thương hiệu vàng 27.7K20

preg_match('/(http(|s)):\/\/(.*?)\//si',  'http://www.example.com/page/?bla=123#!@#$%^&*()_+', $output);
// $output[0] ------------>  https://www.example.com/

Tôi nghĩ rằng RegEXP sau đây có thể trả lời câu hỏi của bạn.Apr 24, 2015 at 19:27

Hướng dẫn php regex get domain name from url - php regex lấy tên miền từ url

T.ToduaT.ToduaT.Todua

Sơ đồ này giải thích cách nó hoạt động, hay đúng hơn là tại sao nó hoạt động :-)19 gold badges219 silver badges217 bronze badges

Đã trả lời ngày 27 tháng 7 năm 2019 lúc 5:36

Trong ô đầu tiên của cột "miền" (B2), nhập công thức để trích xuất một tên miền:..
Trích xuất miền với www.Nếu nó có mặt trong một url: = mid (a2, find (":", a2,4)+3, find ("/", a2,9) -find (":", a2,4) -3).
Bỏ qua www.và nhận một tên miền thuần túy: = if (isError (tìm ("// www.",.

Lệnh nào sẽ trích xuất hậu tố miền COM từ chuỗi PHP?

Lệnh nào sẽ trích xuất hậu tố miền?Hàm parse_url của PHP giúp dễ dàng trích xuất miền, đường dẫn và các thông tin hữu ích khác từ URL đầy đủ.parse_url function makes it easy to extract the domain, path and other useful bits of information from a full URL.