如何根据php中字符串的内容返回字符串的一部分。与使用整数长度
的substr()和相关函数不同所以如果给我们这样的字符串
here is a nice string that is being used as an example
我们怎么能像这样返回一个字符串
nice string
不知何故,我们必须传递函数a
和that
,以便它知道起点和终点。它将找到第一个a
,然后开始跟踪字符,然后当它找到that
它将停止并返回时。
要明确:我们知道原始字符串的内容......以及发送的参数。
答案 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";
?>