可能重复:
获取两个字符串 PHP 之间的内容
我正在尝试创建一个 php 函数,该函数将返回两个子字符串之间所有出现的文本的数组。我对正则表达式毫无用处,会觉得这很方便,我敢肯定那里已经有一个非常好的,但我找不到。
function getAllBetweenStr($input, $start, $end)
{
//DO STUFF
//RETURN ARRAY
}
$inputStr ="<a href='http://formaco4/en/abc' class='currentLink' hreflang='en'>abc1/a>
<a href='http://formaco4/en/abc/b1' hreflang='en'>abc2</a>
<a href='http://formaco4/en/abc/b2' hreflang='en'>abc3</a>
<a href='http://formaco4/en/abc/b3' hreflang='en'>abc4</a>";
$linkStr = array();
$linkStr = getAllBetweenStr($inputStr, "http://formaco4/en/'", "' hreflang")
返回数组将是这样的 Array([0] => "abc/b1", [1] => "abc/b2", ... , [n] => "gingers/rule")
如果有帮助,我已经有了这个功能:
function getBetweenStr($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);
}