代码之家  ›  专栏  ›  技术社区  ›  Mike

基于字符串返回字符串段

  •  1
  • Mike  · 技术社区  · 14 年前

    如何根据PHP中字符串的内容返回部分字符串。与使用整数长度的substr()和相关函数不同

    所以如果给我们一个这样的字符串 here is a nice string that is being used as an example

    我们怎么能返回这样的字符串呢

    nice string

    不知何故我们必须传递函数 a that 所以它知道起点和终点。它会找到第一个 然后开始跟踪字符,然后当它发现 那个 它会停止,然后返回。

    要清楚:我们知道原始字符串的内容…并发送了论点。

    2 回复  |  直到 14 年前
        1
  •  2
  •   shamittomar    14 年前

    使用此功能:

    function get_string_between($string, $start, $end)
    {
        $ini = strpos($string,$start);
        if ($ini == 0)
            return "";
        $ini += strlen($start);
        $len = strpos($string,$end,$ini) - $ini;
        return substr($string,$ini,$len);
    }
    
    $input = 'here is a nice string that is being used as an example';
    $output = get_string_between($input, 'a', 'that');
    echo $output;  //outputs: nice string
    
        2
  •  2
  •   thevilledev    14 年前

    也可以将正则表达式用于 preg_match :

    <?php
    
    function get_string_between($string,$start,$end) {
        preg_match("/\b$start\b\s(.*?)\s\b$end\b/",$string,$matches);
        return $matches[1];
    }
    
    $str = "here is a nice string that is being used as an example";
    print get_string_between($str,"a","that")."\n";
    
    ?>