如何在PHP中的两个字符串之间获取子字符串?

提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。

我需要一个函数来返回两个单词(或两个字符)之间的子字符串。我想知道是否有实现该功能的php函数。我不想考虑正则表达式(嗯,我可以做一个,但实际上并不认为这是最好的方法)。思维strpossubstr功能。这是一个例子:

$string = "foo I wanna a cake foo";

我们调用该函数:$substring = getInnerSubstring($string,"foo");

它返回:“我想要一个蛋糕”。

提前致谢。

嗯,到目前为止,我只能在一个字符串中得到两个单词之间的一个子字符串,您允许我走得更远,问我是否可以扩展使用getInnerSubstring($str,$delim)以获得介于delim值之间的任何字符串,例:

$string =" foo I like php foo, but foo I also like asp foo, foo I feel hero  foo";

我得到一个像这样的数组{"I like php", "I also like asp", "I feel hero"}

回答:

如果字符串不同(即[foo]和[/ foo]),请查看Justin Cook的这篇文章。我在下面复制他的代码:

function get_string_between($string, $start, $end){

$string = ' ' . $string;

$ini = strpos($string, $start);

if ($ini == 0) return '';

$ini += strlen($start);

$len = strpos($string, $end, $ini) - $ini;

return substr($string, $ini, $len);

}

$fullstring = 'this is my [tag]dog[/tag]';

$parsed = get_string_between($fullstring, '[tag]', '[/tag]');

echo $parsed; // (result = dog)

以上是 如何在PHP中的两个字符串之间获取子字符串? 的全部内容, 来源链接: utcz.com/qa/397696.html

回到顶部