--- includes/SearchMySQL4.php.orig	2007-07-25 13:07:05.000000000 -0400
+++ includes/SearchMySQL4.php	2007-07-25 14:29:10.000000000 -0400
@@ -44,7 +44,11 @@
 
 		# FIXME: This doesn't handle parenthetical expressions.
 		$m = array();
-		if( preg_match_all( '/([-+<>~]?)(([' . $lc . ']+)(\*?)|"[^"]*")/',
+		if( preg_match( '/(["])([^"]+)(["])/',
+			  $filteredText, $m ) ) {
+			$searchon = $m[0];
+		}
+		elseif( preg_match_all( '/([-+<>~]?)(([' . $lc . ']+)(\*?)|"[^"]*")/',
 			  $filteredText, $m, PREG_SET_ORDER ) ) {
 			foreach( $m as $terms ) {
 				if( $searchon !== '' ) $searchon .= ' ';
--- includes/SearchEngine.php.orig	2007-07-25 13:06:51.000000000 -0400
+++ includes/SearchEngine.php	2007-07-25 14:28:31.000000000 -0400
@@ -135,7 +135,7 @@
 	}
 
 	function legalSearchChars() {
-		return "A-Za-z_'0-9\\x80-\\xFF\\-";
+		return "A-Za-z_'0-9\\x80-\\xFF\\-\"";
 	}
 
 	/**
