24. juni 2003 - 12:21Der er
7 kommentarer og 1 løsning
Søgefunktion, der lister ord i dokumentet
Jeg sidder og leger lidt med tanken om at lave en søgefunktion, der kan løbe igennem et dokument og i bunden liste de ord, der indeholder en bestemt tegnkombination - men jeg går lidt fast i, hvordan jeg lige skal gribe det an. Nogle, der har idéer?
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
det første du skal gøre er at definere hvad et 'ord' er. du kan gøre det så sompelt som "fra eet blanktegn til et andet". eller grumme meget mere kompliceret (men mere korrekt): fra (start of file eller linieskift eller blanktegen eller '(' eller '[' eller ...) til (linieskift eller eof eller blanktegn eller '.' eller ',' eller ';' eller ']' eller ...)
Når du har gjort det kan du dele filen op i ord. en god måde at gøre det kunne være at lave et associativt array: $alle_ord = array(); while ( der er mere i filen ) { $nesteord = find_neste_ord( ); $alle_ord[ $nesteord ] = $nesteord; } nu har du så et pænt stort array men alle ordene i een gang for hvert ord. tilsidst læber du så det array igennem foreach( $alle_ord as $value ) { if ( ! (strpos( $value, "streng du leder efter" ) === false) ) { // ===, ikke == // udskriv det ord } }
jep, men du have have lavet en funktion find_nest_ord() der henter ordene et ad gangen på basis af de regler for "hvad er et ord" som du bestemmer dig for.
Næe how. den er ikke korrekt. det du får fra mysql_db_query er IKKE et array. det er et resultatsæt. $alle_ord = array(); // start med et tomt array $resultatset = mysql_db_query($dbName, "select * from tekst where id = 1"); while ($row = mysql_fetch_array($resultatset)) { $i = 0; while ( $nesteord = find_neste_ord( $row, $i ) ) { // find ord nr $i i $row $alle_ord[ $nesteord ] = $nesteord; // husk ordet } } foreach( $alle_ord as $value ) { if ( ! (strpos( $value, "@" ) === false) ) { // ===, ikke == echo "$value;"; // udskriv det ord } }
Jeg er helt på bar bund med det med at definere "find_neste_ord();" Enten er det klappen, der er gået ned eller også er det simpelthen noget, jeg ikke kender til. Har været en tur i manualen uden at det har hjulpet.
Prøv at starte med at lave din regel for hvad der er et ord. det kan du gøre i ganske almindeligt menneskesprog; hvis blot du husker på at regelen skal være meget præcis.
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.