jaykup Posted October 3, 2008 Share Posted October 3, 2008 $search = "somethi"; switch ($search) { case "somethi*" in "something": echo "you found something, which is close to your entered search of somethi"; break; } How can I do something like that? Quote Link to comment Share on other sites More sharing options...
nrg_alpha Posted October 3, 2008 Share Posted October 3, 2008 I suspect you are trying to build a search engine? If so, why not simply do a Google search on 'PHP search engines' and see what comes up? Cheers, NRG Quote Link to comment Share on other sites More sharing options...
jaykup Posted October 3, 2008 Author Share Posted October 3, 2008 I've already got a "search engine" for mySQL using "like" and "%", which works great. But sometimes it does not return a result. I would like to have a small case block for some major ones (mis-spellings) and re-do the search with a new value. The above code is confusing, I'll try to make it better. user enters a search - "bananna" which will go to "$search" switch ($search) { case "bana*": echo "You were trying to seach for 'banana', but typed in 'bananna' so I'll run my query with 'banana'"; $query = mysql_query("SELECT banana FROM fruits"); break; } I've tried that but PHP sees a literal "*" Quote Link to comment Share on other sites More sharing options...
DamienRoche Posted October 10, 2008 Share Posted October 10, 2008 Have you tried case "/bana(.*?)/" Hope that helps. Quote Link to comment Share on other sites More sharing options...
ibechane Posted October 13, 2008 Share Posted October 13, 2008 Have you tried case "/bana(.*?)/" Hope that helps. I don't think you can do it that way. You have to tell PHP that "/bana(.*?)/" is a regular expression. Otherwise, it will assume that it's like any other normal string match the string literally. Try this: <?php $search_results = 'banama'; switch(true) { case preg_match('/^bana.*/i',$search_results): $search_results = 'banana'; break; } ?> Quote Link to comment Share on other sites More sharing options...
corbin Posted October 13, 2008 Share Posted October 13, 2008 Uh in that case, why not just do an if? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.