说明一下,用下面的函数如果不对字符串处理是无法分离出来的function GetHtmlArea($stag,$etag,$html){
if($html==""){ return ""; }
$posstart = strpos($html,$stag);
if($posstart===false){ return ""; }
$posend = strpos($html,$etag,$posstart);
if($posend > $posstart && $posend!==false){
return substr($html,$posstart+strlen($stag),$posend-$posstart-strlen($stag));
}else{
return "";
}
}
if($html==""){ return ""; }
$posstart = strpos($html,$stag);
if($posstart===false){ return ""; }
$posend = strpos($html,$etag,$posstart);
if($posend > $posstart && $posend!==false){
return substr($html,$posstart+strlen($stag),$posend-$posstart-strlen($stag));
}else{
return "";
}
}
<td>”,“ ”,$html) 无法读出来, 宣武区 太平桥西里 应该是这样的格式。不知道怎么拷贝后就没了格式
function GetHtmlArea($stag,$etag,$html){
if($html==""){ return ""; }
$posstart = strpos($html,$stag);
if($posstart===false){ return ""; }
$posend = strpos($html,$etag,$posstart);
if($posend > $posstart && $posend!==false){
return substr($html,$posstart+strlen($stag),$posend-$posstart-strlen($stag));
}else{
return "";
}
}$content = '<tr>
<th>城区与地址</th>
<td>
宣武区太平桥西里</td>
</tr>
<tr>
';echo GetHtmlArea("<th>城区与地址</th>
<td>","</td>",$content);
?>
out:宣武区太平桥西里有什么问题吗?
{
if($start_num < 1)
{
return getValueRev($str, $start, $end);
}
if(empty($str))return "";
if(empty($start))return "";
if(empty($end))return "";
$pos1 = 0;
for($i=0; $i<$start_num; $i++)
{
$pos1 = strpos($str, $start, $pos1);
if($pos1===false)
{
return "";
}
$pos1 = $pos1 + strlen($start);
}
$pos2 = $pos1;
for($i=0; $i<$end_num; $i++)
{
$pos2 = strpos($str, $end, $pos2 + 1);
if($pos2===false)
{
return "";
}
}
return substr($str, $pos1, $pos2 - $pos1);
}$data = file_get_contents("http://www.idea2gold.cn/test.htm");
$data = preg_replace("/\s+/"," ", $data);
$area = getValue($data, "<th>城区与地址</th>", "</td>");
$area = strip_tags($area);
echo trim($area);
是这个意思吗