All pastes #504695 Raw Edit

Untitled

public php v1 · immutable
·published 2007-05-23 06:44 UTC
rendered paste body
<?phpclass SearchEngine {	public function doSearch($searchString) {	include "config.php";		// CONNECT TO DB	$db_query = mysql_connect($db_host, $db_user, $db_password)				or die('Could not connect: ' . mysql_error());				mysql_select_db($db_name) or die('Could not select database');	$pSearchString = mysql_real_escape_string( $searchString, $db_query );	$result = mysql_query("SELECT id, paste_raw, MATCH (paste_raw) AGAINST ('$pSearchString') AS score FROM pastes WHERE MATCH (paste_raw) AGAINST ('$pSearchString') ORDER BY score DESC");	$output = array();	while ($row = mysql_fetch_array($result)) {	// RENDER HTML PARTS INTO CHARACTERS (SECURITY)	$raw_output = htmlspecialchars($row['paste_raw'],ENT_NOQUOTES,'UTF-8');	// GET THE POSITION OF THE SEARCH STRING INSIDE THE DB RESULT	$charsToShow = 400;     $position = mb_stripos($raw_output, $searchString,0,'UTF-8');    $middle = ($charsToShow / 2) + (strlen ( $pSearchString)/2);    if ($position<$middle)    {        $initPos = 1;    }    else    {        $initPos = $position - $middle;    }    $short_result = substr($raw_output,$initPos,400);    $row_array = array		(		'id' => $row['id'],		'paste_raw' => '...'.str_ireplace($searchString, '<span class="highlight">'.$searchString.'</span>', $short_result).'...',		'score' => round($row['score'],2)		);	array_push ( $output, $row_array);	}	return $output; 	}}?>