我有一个表单将数据发布到另一个域的网址。我必须在我的域中使用该表单而不更改地址栏中的网址... 细节...
我在http://otherdomain.com/search中有一个搜索框(将数据发布到网址http://mydoamin.com/index.html) 现在,当我点击提交时,它会在其他域中显示结果...
我需要制作一个页面http://mydoamin.com/search.html并在此处显示结果..
我该怎么做..(使用iframes,javascript,jquery或php)?
答案 0 :(得分:0)
如果我理解正确,您似乎想要从otherdomain.com获取搜索结果并在您的网站上显示结果,而不是将用户重定向到otherdomain.com。那是对的吗?
如果是这样你想要研究的是通过PHP进行屏幕抓取,可以使用几种技术(Curl& regex),这是一个非常简单的例子,我只是用谷歌作为例子。
创建一个名为search.php的文件并将此代码放入其中 - 应该直接使用。
<h1> Super Search Site </h1>
<form action="search.php" method="post">
Search: <input type="text" name="search" />
<input type="submit" />
</form>
<?php
@$searchString = $_REQUEST["search"];
if(isset($searchString))
{
$pageRaw = file_get_contents("http://www.google.co.uk/search?q=$searchString");
$newlines = array("\t","\n","\r","\x20\x20","\0","\x0B"); //removes all white space - inclding tabs, newlines etc - makes easier when using regex
$pageCleaned = str_replace($newlines, "", html_entity_decode($pageRaw));
/*
* $contentStart = the start of content wanted
* $contentEnd = the end of content wanted
* $contentWanted = content between $contentStart and $contentWanted
*/
$contentStart = strpos($pageCleaned,'<ol>'); //Looks in the source code for <ol>
$contentEnd = strpos($pageCleaned,'</ol>',$contentStart); //Looks in the source code for </ol>
$contentWanted = substr($pageCleaned,$contentStart,$contentEnd-$contentStart);
echo $contentWanted;
}
else
{ return; }
?>