BäckmanMedlem sedan nov. 2001339 inlägg
Hejsan!
Håller på med en _väldigt_ simpel sökfunktion och jag vill att när man söker med den så ska det inte vara så att det blir s.k "case sensitive". Om man söker efter "Gitarr" så ska den hitta (och färglägga) både "Gitarr" och "gitarr" osv.
Räcker det för er att bolla med detta?
$article = ereg_replace("$sokord", "<font color='#0099FF'><b>$sokord</b></font>", "".$array["N_article"]."");
Om ni har andra förslag på hur jag ska göra så får ni gärna dra till med det också. :)
MatteMedlem sedan aug. 20002 970 inlägg
Nu är jag kass på regexp men eregi_replace() ska vara case insensitive.
BäckmanMedlem sedan nov. 2001339 inlägg
Nu är jag jobbig...
Verkar inte funka, men det kanske är fel på resten av koden eller så.
$sql = "SELECT N_article, N_date, N_email, N_headline, N_id, N_writer from news";
$result = mysql_query($sql, $link);
$sokord = $_GET["searchword"]; //Kommer från formuläret
//Kollar så att det finns nyheter att söka efter
if (mysql_num_rows($result) > 0) { //Kollar om det finns poster i databasen
$traffar = 0;
while($array = mysql_fetch_array($result))
{
if (preg_match("/$sokord/", "".$array["N_article"]."") or preg_match("/$sokord/", "".$array["N_headline"].""))
{
$headline = eregi_replace("$sokord", "<font color='#0099FF'><b>$sokord</b></font>", "".$array["N_headline"]."");
$article = eregi_replace("$sokord", "<font color='#0099FF'><b>$sokord</b></font>", "".$array["N_article"]."");
$traffar = $traffar + 1; //Lägger på en för varje träff
echo "<table width='100%' cellpadding='1' cellspacing='0' border='0'>";
echo "<td bgcolor='#000000'>";
echo "<table width='100%' bgcolor='#000000' cellpadding='2' cellspacing='0'>";
echo "<td class='newscell1' height='20'>$headline</td>";
echo "<tr align='left' valign='top'>";
echo "<td class='newscell2' height='10'>".$array["N_date"]." by <a class='news' href='mailto:".$array["N_email"]."'>".$array["N_writer"]."</a></td>";
echo "<tr align='left' valign='top'>";
echo "<td class='newscell3'>$article";
echo "</td>";
echo "</table>";
echo "</td>";
echo "</table>";
echo "<table><td></td></table>";
}
}
Några idéer på förbättringar?
MatteMedlem sedan aug. 20002 970 inlägg
Nu är jag fortfarande lika cass på regexp, men jag tror inte din preg_match är case insensitive. Efter en snabb koll i manualen står där att efter avslutande / så ska man ha ett i för att göra det case insensitive. I såfall borde det se ut så här:
if (preg_match("/$sokord/i", "".$array["N_article"]."") or preg_match("/$sokord/i", "".$array["N_headline"].""))
Vet inte om detta hjälper men det kan vara värt att försöka.
BäckmanMedlem sedan nov. 2001339 inlägg
Det hjälpte. :)
Trodde att jag allaredan hade provat det där, men jag hade visst fel. Nu fungerar allt som jag vill tack vare din hjälp. Tack. :]