/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
samligne 2 strenge og beregne sandsynlighe~
Fra : Kim Schulz


Dato : 16-06-02 08:54

hejsa
Jeg sidder og roder med en citat database side hvor folk kan intaste
citater til brug i f.eks. email signaturer.

Det er et administrationsmodul på siden hvorfra jeg godkender citaterne
en efter en.
Her ville jeg gerne have tilføjet en funktion som tager det nyintastede
citat og samligner det med alle de allarede indtastede citater for at se
om der er nogen ens. Da der kan forekomme næsten ens citater, hvor
forskellen kun er stavefejl, anderledes kommasætning eller lignende, så
kan man ikke bare samligne strengene direkte. Derfor tænkte jeg på noget
med at splitte strengen op i ord og så se om dette ord forekommer i den
anden streng.Hvis ordet forekommer, så bliver ordet markeret 1 i begge
strengene og hvis det ikke findes så markeres det 0 i den første streng.
Herefter kan man lave noget procent udregning for sandsynligheden for om
de er ens.

Men er der en smartere måde at gøre dette på i php?

--
Kim Schulz - Freelance Development | Sure he's sharp as a razor ...
www.schulz.dk - En nørds bekendelser | he's a two-dimensional
www.linuxia.dk - hverdagens små hacks | pinhead!

 
 
Peter Brodersen (16-06-2002)
Kommentar
Fra : Peter Brodersen


Dato : 16-06-02 09:01

On Sun, 16 Jun 2002 09:54:20 +0200, Kim Schulz <kim@schulz.dk> wrote:

>Men er der en smartere måde at gøre dette på i php?

Der er et par funktioner, der måske kan køre en del af det, du vil:

1: soundex()
Denne funktion oversætter tekst til en "lydværdi" ved at lade
enslydende konsonanter få tildelt samme værdi, og tillige sammentrække
"enslydende" konsonanter.
http://www.php.net/manual/en/function.soundex.php

2: similar_text()
Denne returnerer antal matching chars, hvilket dog ikke er lige
brugbart, hvis den ene tekst er meget lang, og den anden er kort. Til
gengæld kan den også returnerer "similary" i procent ud fra en bestemt
algoritme. Denne har jeg selv succes med som "sidste udvej"-søgning på
et "arkiv-site".
http://www.php.net/manual/en/function.similar-text.php

Der er også et par andre mulige, men manualen har yderligere links fra
ovennævnte manual-sider.
--
- Peter Brodersen

Niels Andersen (16-06-2002)
Kommentar
Fra : Niels Andersen


Dato : 16-06-02 11:07

Kim Schulz wrote in <20020616095420.59efc5d9.kim@schulz.dk>:
> Her ville jeg gerne have tilføjet en funktion som tager det nyintastede
> citat og samligner det med alle de allarede indtastede citater for at se
> om der er nogen ens. Da der kan forekomme næsten ens citater, hvor
> forskellen kun er stavefejl, anderledes kommasætning eller lignende, så
> kan man ikke bare samligne strengene direkte.

Et hurtigt kig på http://dk.php.net/strings gav denne funktion, som du
måske kan bruge: http://dk.php.net/levenshtein

--
Mvh.

Niels Andersen
(la nels. anersyn.)

Jakob Møbjerg Nielse~ (16-06-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 16-06-02 10:52

> Men er der en smartere måde at gøre dette på i php?

Hvis du bruger MySQL, så kig på MATCH (...) AGAINST (...)

--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
| -- Terry Pratchett, Reaper Man



Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408545
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste