获取两个字符串PHP之间的子串 - 阅读HTML

I am having a ton of trouble running through finding a string between two strings.

This is the code i currently have

<?

$html = file_get_contents('mywebsite');

$tags = explode('<',$html);

foreach ($tags as $tag)
{
  // skip scripts
  if (strpos($tag,'script') !== FALSE) continue;
  // get text
  $text = strip_tags('<'.$tag);
  // only if text present remember
  if (trim($text) != '') $texts[] = $text;
  
    //print_r($text);
    echo($text);
    
    
}


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 = $text;
$parsed = get_string_between($fullstring, "tag1", "tag2");

print_r($parsed);

echo ($parsed);

?>

I think the problem happens on this line:

$fullstring = $text;

I am not entirely sure if $text has the stripped down HTML from the above function. When i run this code i get the stripped out webpage like i expect but i got nothing between the tags i am setting.

Does anyone know why this might be happening or what i am missing?

</div>

I think its because you are declaring text as a local variable inside for loop. so , after when you are assigning $text to fullstring It's actually null. I don't understand what you are trying to do , but do this and see if it works

$fullstring = ""
foreach ($tags as $tag){
    #your code as usual
    echo($text);
    $fullstring = $fullstring.$text;
}

and delete the $fullstring = $text line.

you can use this:

    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)

Reference