我在查找兩個字符串之間的字符串時遇到了很多麻煩。獲取兩個字符串之間的子串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,具體取決於你想要做什麼。 –