可能重复:
如何使用 PHP 解析和处理 HTML?
我正在用不同产品的演示文稿构建我的网站,我在使用 curl 时遇到了一些问题,基本上我需要做的是从不同的网站获取 html 的某些部分并显示在我的网站上,例如:标题、型号、描述、用户评论等....我设法完成了一些代码,但是在更改源网址时停止工作...即使源代码与我的代码相同:
$url = "http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=2819129&CatId=4938";
//$url = "http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=1808177&csid=_61"; //this one is not working....
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
$source = curl_exec ($ch);
$start_description1 = "</tr>
</tbody>
</table>
<p>";
$end_description1 = "</div>
</div>
<div id=\"Videos\" style=\"display:inline;\">";
$description1_start_pos = strpos($source, $start_description1) + strlen($start_description1);
$description1_end_pos = strpos($source, $end_description1) - $description1_start_pos;
$description1 = substr($source, $description1_start_pos, $description1_end_pos);
echo $description1;
它完美无缺,但如果我更改网址,它将无法正常工作......问题是 start_description html 代码......在其他页面上,html 代码不同......
代替:
</tr>
</tbody>
</table>
<p>
新页面有:
</tr>
</tbody>
</table>
<p>
或者:
</tr>
</tbody>
</table>
<p>
我怎样才能避免这个错误?或者如何避免 cUrl 错误,并检索我想要的内容?
谢谢你!