Markiertes wort suchen

h4dhunTer

Erfahrenes Mitglied
Hallo,
ich möchte, das ein markiertes Wort gesucht wird.

Also ich habe links einen Bereicht wo man auf "Markiertes Wort bei Google suche" klicken soll. Wie kann ich ein Wort, was von einem User markiert wurde als suchbegriff angeben.

Hier bei Tutorials.de ist das unter einem Beitrag auch so.

Danke schonmal im vorraus. :)
 
Doch sicherlich, aber erstmal JavaScript!
Und wenn du das JS hast, dann kannst du dir evt. das PHP Script selber schreiben, das JS wird dafür sorgen das du das Wort in eine Variable schreibst und es dann an PHP übergibst!
 
Hallo,

das js script hab ich jetzt, aber mit php. Was muss ich den als Code nehmen um es zu übergeben.

Ich weiß nur, wie ich ein Wort aus der Adressleiste in ein Link oder so bekomme. :(
 
Ich hab die Tage erst ein Script geschrieben welches Google (und andere Suchmaschinen) durchsucht.

Das Script benoetigt eine Klasse, ich poste mal die PHP4-Version da ich nicht weiss ob Du PHP4 oder PHP5 nutzt. Ausserdem kann man auch die PHP4-Version auf PHP5 nutzen.
Weiterhin kuerze ich die Klasse auf die benoetigten Funktionen.

httpconnection.class.php
PHP:
<?php 
class httpconnection 
{ 
	var $host; 
	var $port;
	var $ssl;
	var $target; 
 
	function httpconnection($host,$port=80,$ssl=false) 
	{ 
		$this->host=$host; 
		$this->port=$port;
		$this->ssl=$ssl;
		$this->target=$host;
		if ($port!=80)
			{
				$this->target.=":".$port;
			} 
	} 
 
	function decodereply($reply) 
	{
		$httpversion=substr($reply,5,3);
		$headend=strpos($reply,"\r\n\r\n")+2; 
		$head=substr($reply,0,$headend);
		if ($httpversion=="1.0")
			{
				$datastart=$headend+2;
				$body=substr($reply,$datastart,strlen($reply)-$datastart);
			}
		elseif ($httpversion=="1.1")
			{
				$datasizestart=$headend+2; 
				$datasizeend=strpos($reply,"\r\n",$datasizestart); 
				$datasize=hexdec(trim(substr($reply,$datasizestart,$datasizeend-$datasizestart))); 
				$body=""; 
				while ($datasize>0) 
					{ 
						$chunkstart=$datasizeend+2; 
						$body.=substr($reply,$chunkstart,$datasize); 
						$datasizestart=$chunkstart+$datasize+2; 
						$datasizeend=strpos($reply,"\r\n",$datasizestart); 
						$datasize=hexdec(trim(substr($reply,$datasizestart,$datasizeend-$datasizestart))); 
					}
			} 
		$data=array("head"=>$head,"body"=>$body); 
		return $data; 
	} 
 
	function get($uri="/",$parameters=false) 
	{ 
		if ($this->ssl==true)
			{ 
				$connection=@fsockopen("ssl://".$this->host,$this->port);
			}
		else
			{
				$connection=@fsockopen($this->host,$this->port);
			} 
		if ($connection==false) 
			{ 
				return false; 
			} 
		if ((empty($uri)) || ($uri{0}!="/")) 
			{ 
				$uri="/".$uri; 
			} 
		if (($parameters!=false) && (!empty($parameters))) 
			{ 
				$paramstring="?".$parameters; 
			} 
		else 
			{ 
				$paramstring=""; 
			} 
		fwrite($connection,"GET ".$uri.$paramstring." HTTP/1.1\r\nHost: ".$this->target."\r\nConnection: close\r\n\r\n"); 
		$reply=""; 
		while (!feof($connection)) 
			{
				$reply.=@fread($connection,128);
			} 
		fclose($connection); 
		$data=$this->decodereply($reply);
		return $data; 
	}
} 
?>

So, nun das eigentliche Script.
In diesem Script geht es nicht darum die Ausgabe der Suche darzustellen sondern auf den ersten x Seiten zu ueberpruefen ob ein bestimmten URL unter den gewuenschten Keywords zu finden ist.
Aber anhand dieses Prinzips solltest Du Dir Deine Suche stricken koennen.

linkcheck.php
PHP:
<html>
<head>
<title>Link-Check</title>
</head>
<body>
<?php
require_once("httpconnection.class.php");
function google($keywords,$url,$maxpages,$locale="int")
{
	if ($locale=="de")
		{
			$http=new httpconnection("www.google.de");
		}
	else
		{
			$http=new httpconnection("www.google.com");
		}
	$x=0;
	while (($x<$maxpages) && ($found==false))
		{
			$start=$x*10;
			$data=$http->get("search","q=".$keywords."&start=".$start);
			if ((strpos($data['body'],'//'.$url.'/')!=false) || (strpos($data['body'],'//'.$url.' ')!=false))
				{
					$found=true;
				}
			else
				{
					$found=false;
				}
			$x++;
		}
	unset($http);
	echo '<b>Google:</b><br>';
	if ($found==true)
		{
			echo $url.' was found on page '.$x.'<hr>';
		}
	else
		{
			echo $url.' was not found on the first '.$x.' Pages of results<hr>';
		}
}

function altavista($keywords,$url,$maxpages,$locale="int")
{
	if ($locale=="de")
		{
			$http=new httpconnection("de.altavista.com");
		}
	else
		{
			$http=new httpconnection("www.altavista.com");
		}
	$x=0;
	while (($x<$maxpages) && ($found==false))
		{
			$start=$x*10;
			$data=$http->get("web/results","q=".$keywords."&stq=".$start);
			if ((strpos($data['body'],'//'.$url.'/')!=false) || (strpos($data['body'],'//'.$url.' ')!=false))
				{
					$found=true;
				}
			else
				{
					$found=false;
				}
			$x++;
		}
	unset($http);
	echo '<b>Altavista:</b><br>';
	if ($found==true)
		{
			echo $url.' was found on page '.$x.'<hr>';
		}
	else
		{
			echo $url.' was not found on the first '.$x.' Pages of results<hr>';
		}
}

function yahoo($keywords,$url,$maxpages,$locale="int")
{
	if ($locale=="de")
		{
			$http=new httpconnection("de.search.yahoo.com");
		}
	else
		{
			$http=new httpconnection("search.yahoo.com");
		}
	$x=0;
	while (($x<$maxpages) && ($found==false))
		{
			$start=$x*10+1;
			$data=$http->get("search","p=".$keywords."&b=".$start);
			if ((strpos($data['body'],'%2F%2F'.$url.'%2F')!=false) || (strpos($data['body'],'%F%F'.$url.' ')!=false))
				{
					$found=true;
				}
			else
				{
					$found=false;
				}
			$x++;
		}
	unset($http);
	echo '<b>Yahoo:</b><br>';
	if ($found==true)
		{
			echo $url.' was found on page '.$x.'<hr>';
		}
	else
		{
			echo $url.' was not found on the first '.$x.' Pages of results<hr>';
		}
}

function msn($keywords,$url,$maxpages,$locale="int")
{
	if ($locale=="de")
		{
			$http=new httpconnection("search.msn.de");
		}
	else
		{
			$http=new httpconnection("search.msn.com");
		}
	$x=0;
	while (($x<$maxpages) && ($found==false))
		{
			$start=$x*10+1;
			$data=$http->get("results.aspx","q=".$keywords."&first=".$start);
			if ((strpos($data['body'],'//'.$url.'/')!=false) || (strpos($data['body'],'//'.$url.' ')!=false))
				{
					$found=true;
				}
			else
				{
					$found=false;
				}
			$x++;
		}
	unset($http);
	echo '<b>MSN:</b><br>';
	if ($found==true)
		{
			echo $url.' was found on page '.$x.'<hr>';
		}
	else
		{
			echo $url.' was not found on the first '.$x.' Pages of results<hr>';
		}
}

if ((isset($_POST['check'])) && (!empty($_POST['keywords'])) && (!empty($_POST['url'])))
	{
		echo '<b>Keywords:</b> '.$_POST['keywords'].'<br><br>';
		flush();
		google(urlencode($_POST['keywords']),$_POST['url'],$_POST['maxpages']);
		flush();
		altavista(urlencode($_POST['keywords']),$_POST['url'],$_POST['maxpages']);
		flush();
		yahoo(urlencode($_POST['keywords']),$_POST['url'],$_POST['maxpages']);
		flush();
		msn(urlencode($_POST['keywords']),$_POST['url'],$_POST['maxpages']);
	}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table>
<tr><td>Keywords:</td><td>
<?php
echo '<input type="text" name="keywords"';
if (isset($_POST['keywords']))
	{
		echo ' value="'.$_POST['keywords'].'"';
	}
echo '>';
?>
</td></tr>
<tr><td>URL:</td><td>
<?php
echo '<input type="text" name="url"';
if (isset($_POST['url']))
	{
		echo ' value="'.$_POST['url'].'"';
	}
echo '>';
?>
</td></tr>
<tr><td>Max pages:</td><td>
<select name="maxpages">
<?php
for ($x=0;$x<10;$x++)
	{
		echo '<option value="'.($x+1).'"';
		if (((isset($_POST['maxpages'])) && ($_POST['maxpages']==$x+1)) || ((!isset($_POST['maxpages'])) && ($x==4)))
			{
				echo ' selected';
			}
		echo '>'.($x+1).'</option>';
	}
?>
</select>
</td></tr>
</table>
<input type="submit" name="check" value="Check">
</form>
</body>
</html>
 
Zurück