【问题标题】:How can I explode and implode value from url [closed]如何从 url 爆炸和内爆值 [关闭]
【发布时间】:2026-01-29 22:45:01
【问题描述】:
$string = 'http://india.domain.com';
$string = explode('.', $actual_link);
array_pop($string);
$string = implode(' ', $string);
echo $string;`

我如何才能从 URL $string = "http://india.domain.com"; 仅获得价值 india

【问题讨论】:

标签: php arrays explode implode


【解决方案1】:

取决于'india' 代表什么。它可能代表点之前的第一个单词,但在 http:// 之后

$string = 'http://india.domain.com';
echo substring($string, 8, strpos($string, ".") - 8);

或者它可能是别的东西。一般来说,最好准确地指定您需要什么,否则我们只能猜测。

【讨论】:

    【解决方案2】:

    See parse_url():

    //Source string
    $string = "http://india.domain.com";
    
    //Parse URL into array $parsed - this creates an array of
    //["scheme"] => "http", ["host" => "india.domain.com"
    $parsed = parse_url($string);
    
    //Explode from "." to array $parts - this creates an array of
    //[0] => "india", [1] => "domain", [2] => "com"
    $parts = explode(".", $parsed["host"]);
    
    //Echo subdomain
    echo $parts[0];
    

    【讨论】:

    • parse_url 无法识别没有方案的主机。如果该方案始终存在,那么我认为这是首选方法。
    【解决方案3】:

    试试这个代码:

    $string = 'http://india.domain.com';
    $string = explode('.', $string);
    $string = explode('//', $string[0]);
    echo $string[1];
    

    【讨论】:

      【解决方案4】:

      如果您的 URL 可能不包含方案(或协议)(即 http),那么您可以使用以下代码:

      $string = "http://india.domain.com/path/file.html";
      
      // Protocol is optional
      $host = preg_replace('/^(?:[^:]+:\/\/)?([^\/]+)\/.*/', '\1', $string);
      $parts = explode(".", $host);
      
      print_r($parts);
      echo "<br>${parts[0]}";
      

      【讨论】: