Zoekopdracht kleuren
Hallo,
Zou iemand mij kunnen 'uitleggen' hoe ik de zoekresultaten van mijn zoeksysteem dik druk, of een ander kleurtje geef.
Dit moet toch mogelijk zijn dacht ik zo. De gegevens komen uit een database d.m.v LIKE %'"$_GET['q']"'%
Liefst geen code plaatsten, maar uitleggen zodat ik zelf kan proberen. (Hier leer ik weer van)
Met vriendelijke groeten,
Jeffrey
Zou iemand mij kunnen 'uitleggen' hoe ik de zoekresultaten van mijn zoeksysteem dik druk, of een ander kleurtje geef.
Dit moet toch mogelijk zijn dacht ik zo. De gegevens komen uit een database d.m.v LIKE %'"$_GET['q']"'%
Liefst geen code plaatsten, maar uitleggen zodat ik zelf kan proberen. (Hier leer ik weer van)
Met vriendelijke groeten,
Jeffrey
Gesponsorde koppelingen:
met str_replace zoek je je zoekopdracht op, en je vervangt je zoekoprdacht door een span (waar je een stijl aan hangt) met daarin je zoekopdracht.
beveilig je input trouwens, anders word hacken erg makkelijk.
beveilig je input trouwens, anders word hacken erg makkelijk.
Allersimpelst: str_replace gebruiken om de zoekterm te vervangen met <strong>zoekterm</strong>. Probleem komt echter wanneer er HTML in je content hebt (waar je je woordjes vet wilt hebben) Dan kan je bijvoorbeeld uitwijken naar preg_replace om zo te voorkomen dat je niets binnen tags matcht. En dan zit je al weer op het domein van de regular expressions (wat zeer vrij vertaald "zwarte magie" betekent)
_O_ WOW! Bedankt ;) . Mocht het niet lukken hoor je het!
Offtopic: Je avatar :')
Wil je specifieke zoekwoorden dikdrukken of..?
Anders doe je gewoon 'LIKE %'"$_GET['q']"'% AS get_q' en dan krijg je netjes je waarde als get_q terug. Je kunt het via css doen of html, etc.
Eigelijk snap ik je vraag niet goed :)
Edit: te laat, preg_replace is je oplossing denk ik.
Wil je specifieke zoekwoorden dikdrukken of..?
Anders doe je gewoon 'LIKE %'"$_GET['q']"'% AS get_q' en dan krijg je netjes je waarde als get_q terug. Je kunt het via css doen of html, etc.
Eigelijk snap ik je vraag niet goed :)
Edit: te laat, preg_replace is je oplossing denk ik.
Gewijzigd op 01/01/1970 01:00:00 door kvdd
Weer effe alles weggegooid :P
Versie die de woordjes explode en zo zoekt:
Nadeel : Door de explode zoekt hij dingen die misschien niet gezocht zijn maar het is wel nuttig..
Versie die de woordjes explode en zo zoekt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
function highlight( $str )
{
$word = $_GET['q'];
$ary = explode(' ', $word);
if ( is_array( $ary ) )
{
foreach( $ary as $value )
{
if ( !empty( $value ) )
{
$str = str_replace( $value, '<font style="font-weight: bold; color: red;">' . $value . '</font>', $str);
}
}
}
else
{
if ( !empty( $word ) )
{
$str = str_replace( $word, '<font style="font-weight: bold; color: red;">' . $word. '</font>', $str);
}
}
return $str;
}
$text = 'Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. ';
echo highlight( $text );
?>
function highlight( $str )
{
$word = $_GET['q'];
$ary = explode(' ', $word);
if ( is_array( $ary ) )
{
foreach( $ary as $value )
{
if ( !empty( $value ) )
{
$str = str_replace( $value, '<font style="font-weight: bold; color: red;">' . $value . '</font>', $str);
}
}
}
else
{
if ( !empty( $word ) )
{
$str = str_replace( $word, '<font style="font-weight: bold; color: red;">' . $word. '</font>', $str);
}
}
return $str;
}
$text = 'Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. Dit gebruik ik even als de zoekfunctie test text. ';
echo highlight( $text );
?>
Nadeel : Door de explode zoekt hij dingen die misschien niet gezocht zijn maar het is wel nuttig..
Gewijzigd op 01/01/1970 01:00:00 door ToySoldier ZegIkNiet
Ik ben der uit ;)
Hartstikke bedankt en weer wat geleerd _O_.
--
Nog 1 vraag, hij werkt nu, maar hij is hoofdletter gevoelig. Hoe pas je dit aan?
Hartstikke bedankt en weer wat geleerd _O_.
--
Nog 1 vraag, hij werkt nu, maar hij is hoofdletter gevoelig. Hoe pas je dit aan?
Gewijzigd op 01/01/1970 01:00:00 door FRizZL isMijnUsername
Mag een bump voor een nieuwe vraag? :$
Anders spijt het mij zeer!
Anders spijt het mij zeer!
Kijk hier eens:
http://be.php.net/manual/en/function.str-ireplace.php
Dit detecteert strings niet-hoofdlettergevoelig, maar om te zorgen dat de case daarna terug staat als tevoren, moet je even nadenken.
http://be.php.net/manual/en/function.str-ireplace.php
Dit detecteert strings niet-hoofdlettergevoelig, maar om te zorgen dat de case daarna terug staat als tevoren, moet je even nadenken.
Nja, ik laat het maar. Ik heb namelijk geen PHP >5
Iig bedankt ;-)
Iig bedankt ;-)
vdleije schreef op 11.07.2008 19:29:
Misschien een idee om aan je host te vragen of ze die ondersteuning kunnen bieden? Of desnoods overstappen naar een andere host die wel PHP5 ondersteund?Nja, ik laat het maar. Ik heb namelijk geen PHP >5
Tegenwoordig is PHP5 wel zo'n beetje de standaard. PHP4 was al oud maar die wil je nu eigenlijk echt niet meer gebruiken...



