返回基于字符串的字符串段

时间:2010-08-26 06:15:22

标签: php string search

如何根据php中字符串的内容返回字符串的一部分。与使用整数长度

的substr()和相关函数不同

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

我们怎么能像这样返回一个字符串

nice string

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

要明确:我们知道原始字符串的内容......以及发送的参数。

2 个答案:

答案 0 :(得分:2)

使用此功能:

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

答案 1 :(得分:2)

您也可以使用正则表达式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";

?>