20. september 2003 - 14:39Der er
20 kommentarer og 1 løsning
Find ord i tekst og marker
Jeg er igang med at lave en søgeside.
Først har jeg lavet en query med like '%$string%' .. osv. og det virker perfekt..
Men der er lidt problemer med outputtet
1. Outputtet kommer i HTML, er der en som har et lille replace script som fjerner alle <*>-htmltags
2. Hvis nu man søger efter ex. Meditation, så ville jeg gerne have den markede ordet "medidation" i teksten men også at den klipper det ud, dvs.
Hvis nu HELE teksten er som følgende:
Her finder du artikler, undervisningsmaterialer, kompilationer og e-bøger med inspiration til din personlige og åndelige udvikling, samt visioner til et samfund baseret på humanistiske, holistiske og åndelige værdier. Materialerne kan anvendes til alt fra dybdeborende studier til generel orientering om det esoteriske livssyn. Stoffet vil løbende blive udvidet.
og jeg søger på "humanistiske" så skal den gøre som følgende:
personlige og åndelige udvikling, samt visioner til et samfund baseret på [humanistiske], holistiske og åndelige værdier. Materialerne kan
Altså tage ordet (det første i teksten) og markerer det, og tage ex. 100 tegn før, og efter teksten med.
<?php $str = "Her finder du artikler, undervisningsmaterialer, kompilationer og e-bøger med inspiration til din personlige og åndelige udvikling, samt visioner til et samfund baseret på humanistiske, holistiske og åndelige værdier. Materialerne kan anvendes til alt fra dybdeborende studier til generel orientering om det esoteriske livssyn. Stoffet vil løbende blive udvidet."; if ($highlight != "0") { $mark = $highlight; $str = str_replace("$mark","<em class=\"codemarkup\">$mark</em>",$str); } ?> <html> <head> <style type="text/css"> .codemarkup {background:#FFFF40;font-style:normal} </style> </head> <body> <form action="highlight.php"> Søgeord:<br> <input type="text" name="highlight"><br> <input type="submit"> </form> <?php echo $str; ?> </body> </html>
problemet er at de tekster den skal søge i ER MEGET LANGE Derfor vil jeg gerne have den klipper af, rundt om første søgeord. Dvs.at den tager (100tegn) HIGHLITE (100tegn)...
Hej Troxa, det ser nice ud - men der lige en fejl, jeg håber du kan rette. Hvis det samme ord er flere gange i teksten, så laver den fejl!
Fatal error: Cannot redeclare henttekst() (previously declared in /dedicated/myweb/html/search.php:127) in /dedicated/myweb/html/search.php on line 127
hvis jeg sætter den ind får jeg ingen fejl .. Har du smidt funktionen ind i din while løkke ved søgning igennem alle rows ? for den skal stå udenfor.. smid evt din kode her, så jeg kan tilpasse den, eller send den til troxa@troxa.dk hvis det er noget du ik vil vise til andre.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.