我需要一个函数来返回两个单词(或两个字符)之间的子串.我想知道是否有一个PHP功能实现了这一点.我不想考虑正则表达式(好吧,我可以做一个,但真的不认为这是最好的方式).思考strpos和substr功能.这是一个例子:
$string = "foo I wanna a cake foo";
Run Code Online (Sandbox Code Playgroud)
我们称之为功能:$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";
Run Code Online (Sandbox Code Playgroud)
我得到一个类似的数组{"I like php", "I also like asp", "I feel hero"}.
我发现这个函数可以在两个文本字符串,html或其他内容之间获取数据.
如何更改以便找到所有事件?每次出现$ start [some-random-data] $ end之间的每个数据.我想要文档的所有[某些随机数据](它将始终是不同的数据).
function getStringBetween($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);
}
Run Code Online (Sandbox Code Playgroud)