重複の可能性:
2つの文字列間でコンテンツを取得するPHP
2つの部分文字列の間に出現するすべてのテキストの配列を返す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);
}