![](/img/trans.png)
[英]How to return to a certain section of a page when a form comes back with errors
[英]Return a certain section on request
我试图找出如何(以及最好的方法)返回页面的特定部分。 我想知道是否可以“抓取”并返回存储在HTML部分标记中的信息。
编辑:
我已经按照以下建议进行了工作。 到目前为止,我已经刮取了该站点的一个随机片段,该片段可以正常工作,但是以某种方式我无法刮除想要的部分。
这是“随机”部分:
<?php
$curl = curl_init('https://www.ah.nl/producten/product/wi94782/ah-mandarijnen-net');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$page = curl_exec($curl);
if(curl_errno($curl)) // check for execution errors
{
echo 'Scraper error: ' . curl_error($curl);
exit;
}
curl_close($curl);
$regex = '/<div class="navigation-section navigation-section--home">(.*?)<\/div>/s';
if ( preg_match($regex, $page, $list) )
echo $list[0];
else
print "Not found";
?>
上面的代码返回:
<div class="navigation-section navigation-section--home">
<a href="/"
class="ah-online-icon icon--home link--2 navigation-section__link navigation-section__link--left-icon navigation-section__link--home">Home</a>
</div>
因此,这可行。 除此之外,我要抓的部分是:
<section class="nasa-number"><span>548401</span></section>
(您可以检查链接 ,如果需要,我正在尝试在右侧页面底部附近打印灰色数字)
相反,当我使用$regex = '/<section class="nasa-number">(.*?)<\\/section>/s';
,它返回:找不到
我认为这将满足您的需求
if ( preg_match("/<section class=\"nasa-number\"><span>(.*?)<\/span><\/section>/", $page, $list) ){
echo $list[1];
} else {
print "Not found";
}
这将替换curl_close($curl);
之后的所有内容curl_close($curl);
请注意,我所做的只是将dbl引号用作容器,因此,我必须转义要匹配的实际引号。 在这里测试http://www.phpliveregex.com/p/iFn
是的,可以使用多种方法来完成,您可以使用Jquery来运行onload()函数。如果url中有任何数字,您可以获取它并将其传递给其他自行生成的url。 请给我代码示例,以便我根据您的问题为您提供最佳解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.