我在查找两个字符串之间的字符串时遇到了很多麻烦。获取两个字符串之间的子串PHP - 读取HTML
这是代码我现在有
<?
$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;
\t //print_r($text);
\t echo($text);
\t
\t
}
function get_string_between($string, $start, $end){
\t $string = " ".$string;
\t $ini = strpos($string,$start);
\t if ($ini == 0) return "";
\t $ini += strlen($start);
\t $len = strpos($string,$end,$ini) - $ini;
\t return substr($string,$ini,$len);
}
$fullstring = $text;
$parsed = get_string_between($fullstring, "tag1", "tag2");
print_r($parsed);
echo ($parsed);
?>
我认为这个问题会发生在这条线:
$fullstring = $text;
我不能完全肯定,如果$文本有从上面的函数中剥离了HTML。当我运行这段代码时,我得到了像我期望的剥离网页,但是我设置的标签之间没有任何内容。
有没有人知道为什么这可能会发生或我失踪?
什么是你想怎么办? –
我想返回两个“标签”之间的字符串。 – user3205214
虽然我们可以帮助您解决原始问题,但您的代码会提出问题:最终目标是什么?有很多更好的工具可用于解析HTML,具体取决于你想要做什么。 –