How to omit ' ( ' ) from a search result

Hi, I want to try to omit ’ (’) from the search results on my site, example:

I search for: youre not alone

I get no search results because the results contain a ' in it…

but if I search for you're I will get results, I have tried numerous attempts and its not working!

[php]

  • { margin:0;
    padding:0;
    }

div#menu {
top:0px;
}
div#copyright { display: none; }

<?php include("../connectvars.php"); $db = new mysqli('localhost', '#######' ,'#######', '#######'); if(!$db) { // Show error if we cannot connect. echo 'ERROR: Could not connect to the database.'; } else { echo "
    "; // Is there a posted query string? if(isset($_POST['queryString'])) { $queryString1 = $db->real_escape_string($_POST['queryString']); $queryString = str_replace("'", "", $queryString1); // Is the string length greater than 0? if(strlen($queryString) >=1) { $query = $db->query("SELECT * FROM music WHERE active='1' AND musictitle LIKE '$queryString%' ORDER BY musicartist LIMIT 5"); $query1 = $db->query("SELECT * FROM music WHERE active='1' AND musictitle LIKE '$queryString%' ORDER BY musictitle LIMIT 3"); $query2 = $db->query("SELECT * FROM music WHERE active='1' AND musicartist LIKE '$queryString%' GROUP BY musicartist ORDER BY musicartist LIMIT 4"); $q = mysql_query("SELECT * FROM music WHERE active='1' AND musicartist LIKE '$queryString%' GROUP BY musicartist ORDER BY musicartist LIMIT 4"); $p = mysql_query("SELECT * FROM music WHERE active='1' AND musictitle LIKE '$queryString%' ORDER BY musicartist LIMIT 5"); if($query) { if(mysql_num_rows($q) >=1) { echo " Artist Result:
  • "; while($result1 = $query2 ->fetch_object()) { $artist = str_replace("'", "", $result1->musicartist); echo '
  • '; echo (strlen($artist) > 20 ? substr($artist, 0, 20)."..." : $artist); echo '
  • '; } echo "
    Music Results: "; } while ($result2 = $query ->fetch_object()) { $title = str_replace("'", "", $result2->musictitle); echo '
  • '; echo (strlen($title) > 12 ? substr($title, 0, 12)."..." : $title); echo ' - '; echo (strlen($result2->musicartist) > 12 ? substr($result2->musicartist, 0, 12)."..." : $result2->musicartist); echo '
  • '; } } } } else { echo 'There should be no direct access to this script!'; } if(mysql_num_rows($q) <=1 || mysql_num_rows($p) <=1) { echo '
  • Sorry, No More Results..
  • '; } echo "
"; } ?>[/php]

You may require the MySQL REPLACE function:

$sql = "SELECT * FROM `music` WHERE REPLACE(`musicartist`,'&#39;','') LIKE '%".str_replace("'","",$querystring)."%'";

Thanks! That works perfect :)!

Sponsor our Newsletter | Privacy Policy | Terms of Service