我使用下面的PHP代碼訪問外部HTML文件,一旦訪問,存在一個foreach循環,通過HTML搜索來查找兩個其他字符串之間存在的特定字符串。PHP在多個HTML行中搜索字符串
當兩個搜索字符串($ start_limiter和$ end_limiter)位於HTML文件的同一行時,此搜索可以正常工作。但是,當他們在單獨的線路上不起作用。
我需要能夠獲取兩個搜索字符串之間的字符串,無論他們在哪一行。
<?php
function findText($start_limiter,$end_limiter,$url)
{
$start_pos = strpos($url,$start_limiter);
if ($start_pos === FALSE)
{
return FALSE;
}
$end_pos = strpos($url,$end_limiter,$start_pos);
if ($end_pos === FALSE)
{
return FALSE;
}
return substr($url, $start_pos+1, ($end_pos-1)-$start_pos);
}
$url = file("testResults.html");
$start_limiter = "firstString";
$end_limiter = "lastString";
foreach ($url as $number => $line)
{
$res = findText($start_limiter, $end_limiter,trim($line));
if ($res != FALSE)
{
$str2 = substr($res, 9);
echo $str2;
?><br /><?php
}
}
使用'file_get_contents'和'strpos'中的偏移參數 – 2014-09-28 09:12:15