B Bäckman Medlem sedan nov. 2001 274 inlägg Trådstart 6 aug. 2002 18:15 #1 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å.
Matte Medlem sedan aug. 2000 2 975 inlägg Nu är jag kass på regexp men eregi_replace() ska vara case insensitive.
B Bäckman Medlem sedan nov. 2001 274 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?
Matte Medlem sedan aug. 2000 2 975 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 Bäckman Medlem sedan nov. 2001 274 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. :]