我有一个问题,是否有任何方法可以检查网址是否包含单词然后显示此值?例如,我想检查外部站点是否存在ver。 1.x.x.x,此值ver。 1.x.x.x永远不会是一样的。我做了这样的事情,但也许是另一种解决方案。
<form enctype="multipart/form-data" action="" method="post">
<input name="url" type="text"/>
<input type="submit" name="submit" value="Check" class="btn btn-primary"/><br/>
</form>
<?php
if(isset($_POST['submit'])) {
$url = $_POST['url'];
}
$content = file_get_contents($url);
$first_step = explode( '<p class="copyright">' , $content );
$second_step = explode("</p>" , $first_step[1] );
echo $second_step[0];
?>
在外部网址中,这是html容器
<p class="copyright">
Help Us -
<a href="http://www.externalsite.com/">
(ver. 1.x.x.x)
<br>
答案 0 :(得分:1)
你的问题有两个部分。第一个是请求页面,您可以使用简单的curl请求来执行此操作。正如from the php docs所示,这是一个卷曲请求的示例。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch); // $output is the content
curl_close($ch);
下一部分是实际获得该值。 A fantastic and disgustingly upvoted stack overflow answer has already been done on this并且相当直接。
答案 1 :(得分:1)
您可以在PHP中使用SimpleHTMLDOm或DOMDocument lib。或许多其他图书馆:)
$html = file_get_html($url);
echo $html->find("p[class=copyright]",0)->innertext;
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xml = simplexml_import_dom($doc);
var_dump($xml->xpath('//*[@class="copyright"]'));