2011-01-11 59 views
-1

我想从本网站获取搜索框,我使用php常规表单部分,但其中仍然有许多其他html代码。那么如何删除它们并获得一个纯粹的搜索框呢?谢谢。php常规表单和输入

<?php 
$str = file_get_contents('http://bingphp.codeplex.com'); 
preg_match_all('~<form.+</form>~iUs', $str, $match); 
var_dump($match); 
?> 
+0

你想达到什么目的? – lonesomeday 2011-01-11 12:54:41

+0

你为什么要这样做?您将无法使用该表格... – diagonalbatman 2011-01-11 12:56:47

回答

2

应该使用DomDocument解析器?

$dom = new DomDocument; 
libxml_use_internal_errors(true); 
$dom->loadHTMLFile('http://bingphp.codeplex.com/'); 
$nodes = $dom->getElementsByTagName('form'); 
foreach ($nodes as $node) 
{ 
    echo simplexml_import_dom($node)->asXML(); 
} 

PS

本软件BY THE 版权所有者和贡献者 “AS IS” 任何明示或默示的担保,包括但不限于,的暗示担保适销性和针对特定用途的适用性恕不受理。在任何情况下,版权所有者或贡献者均不对任何直接,间接,偶发,特殊,惩戒性或后果性损害(包括但不限于采购替代商品或服务;使用,数据或利润损失;或业务中断),无论是否因任何责任理论,无论是在合同中,严格赔偿责任还是民事侵权行为(包括疏忽或其他),以使用本软件的任何方式引起,即使已被告知发生此类损害的可能性。

0

你可能想尝试用相同的字段创建自己的表单,只是改变action属性到原始网站相同action目标。

它不会总是工作。

1

如果您只想要搜索框。为什么不使用你的自己的搜索框?

<form action="http://bingphp.codeplex.com/Wiki/Search.aspx" method="GET"> 
    <input type="hidden" name="tab" value="Home" /> 
    <input type="text" name="SearchText" value="PHP" /> 
    <input type="submit" value="Let's vamp the search" /> 
</form> 

我甚至不能确定的hidden输入必须在这里(取决于他们是否检查站在他们一边)。