04/10/2018, 17:43
Lọc lấy đường dẫn (url) từ tên miền (domain) bằng PHP
Mình xin chia sẻ với các bạn 3 hàm giúp lọc 1 đường dẫn bất kỳ từ 1 tên miền nào đó. Đoạn code sau sẽ là nguồn tham khảo hữu ích cho những ai đam mê lập trình nói chung và bằng ngôn ngữ PHP nói riêng. <?php /*Hàm thứ nhất : loại bỏ tất cả các query string, chỉ lấy subdomain (nếu có) ...
Mình xin chia sẻ với các bạn 3 hàm giúp lọc 1 đường dẫn bất kỳ từ 1 tên miền nào đó. Đoạn code sau sẽ là nguồn tham khảo hữu ích cho những ai đam mê lập trình nói chung và bằng ngôn ngữ PHP nói riêng.
<?php /*Hàm thứ nhất : loại bỏ tất cả các query string, chỉ lấy subdomain (nếu có) hoặc domain */ function fulldomain($domainb) { $bits = explode('/', $domainb); if ($bits[0]=='http:' || $bits[0]=='https:') { return $bits[0].'//'.$bits[2].'/'; } else { return 'http://'.$bits[0].'/'; } unset($bits); } // Hàm thứ 2 : công dụng tương tự như hàm thứ 1 nhưng sử dụng regex function preg_fulldomain ($domainb) { return preg_replace('/^((http(s)?://)?([^/]+)(/)?)(.*)/','$1',$domainb); } // Hàm thứ 3 : lấy domain và loại bỏ subdomain function domain($domainb) { $bits = explode('/', $domainb); if ($bits[0]=='http:' || $bits[0]=='https:') { $domainb= $bits[2]; } else { $domainb= $bits[0]; } unset($bits); $bits = explode('.', $domainb); $idz=count($bits); $idz-=3; if (strlen($bits[($idz+2)])==2) { $url=$bits[$idz].'.'.$bits[($idz+1)].'.'.$bits[($idz+2)]; } else if (strlen($bits[($idz+2)])==0) { $url=$bits[($idz)].'.'.$bits[($idz+1)]; } else { $url=$bits[($idz+1)].'.'.$bits[($idz+2)]; } return $url; } ?>
Và sau đây là ví dụ minh họa việc sử dụng 3 hàm trên như sau :
<?php $address='http://www.subdomain.example.com/blog/index.php?id=1'; echo fulldomain($address); // xuất ra http://www.subdomain.example.com/ echo '<br>'; echo preg_fulldomain($address); // xuất ra http://www.subdomain.example.com/ echo '<br>'; echo domain($address); // xuất ra example.com ?>
Hy vọng với 3 hàm trên sẽ giúp cho bạn thêm 1 kỹ năng lập trình bằng ngôn ngữ PHP, Chúc các bạn thành công !
Chuyên Mục: PHP
Bài viết được đăng bởi webmaster
-
Tâm Nguyễn
-
Thu Thuat Web
-