menwn Posted January 26, 2007 Share Posted January 26, 2007 Hi allI have this problem. I have a search engine and I would like the user to be able to search with prefix terms without using *. For know the user as to type "$someth*" but i would like to be able to search for "someth"and add the * before the fulltext querry.I tried useing str_replace('"', '*"', $someth) but this is not an option because I get *"$someth*" which of course is not correctCan I do anything so as make php understand wich " is which?thanks in advanceandreas Link to comment https://forums.phpfreaks.com/topic/35796-php-string_replace/ Share on other sites More sharing options...
Cep Posted January 26, 2007 Share Posted January 26, 2007 Your not really making much sense.You DONT want them to use wildcard * marks in a search query? Is that what your saying?[code=php:0]str_replace("*", "", $mystring);[/code]Where $mystring is the string your trying to search. Link to comment https://forums.phpfreaks.com/topic/35796-php-string_replace/#findComment-169654 Share on other sites More sharing options...
marcus Posted January 26, 2007 Share Posted January 26, 2007 If you're using a mysql query this can be easily done while selecting it from the database.[code=php:0]$string = $_POST['string'];$array = array('*');if(in_array($string,$array)){$sql = "SELECT * FROM `tablename` WHERE `blah` LIKE($string)";$res = mysql_query($sql) or die(mysql_error()); while($row = mysql_fetch_assoc($res)){ //search contents }}else {$sql = "SELECT * FROM `tablename` WHERE `blah` ='$string'";$res = mysql_query($sql) or die(mysql_error()); while($row = mysql_fetch_assoc($res)){ //search contents }}[/code] Link to comment https://forums.phpfreaks.com/topic/35796-php-string_replace/#findComment-169665 Share on other sites More sharing options...
menwn Posted January 26, 2007 Author Share Posted January 26, 2007 What I want is to search with wildcard in fulltext but not make the user type it instead to be inserted automatically in the sql query Link to comment https://forums.phpfreaks.com/topic/35796-php-string_replace/#findComment-169676 Share on other sites More sharing options...
Cep Posted January 26, 2007 Share Posted January 26, 2007 I don't see how you could do that without replacing all white space with a * Link to comment https://forums.phpfreaks.com/topic/35796-php-string_replace/#findComment-169707 Share on other sites More sharing options...
matfish Posted January 26, 2007 Share Posted January 26, 2007 Do you need a '*' when searching in the query? Just remove the * and query LIKE '%$search%'?Or did I just not understand the question? Link to comment https://forums.phpfreaks.com/topic/35796-php-string_replace/#findComment-169790 Share on other sites More sharing options...
Jessica Posted January 26, 2007 Share Posted January 26, 2007 SELECT * FROM table WHERE fulltextfield LIKE '%$str%';You don't need to replace anything in their string. Link to comment https://forums.phpfreaks.com/topic/35796-php-string_replace/#findComment-169793 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.