---
title: "Jämföra gatuadresser (soundex, similar_text etc)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/63129-jämföra-gatuadresser-soundex-similar-text-etc"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Diggin"
published: "2002-12-27T09:47:44.000Z"
updated: "2002-12-27T14:55:45.000Z"
replies: 4
views: 624
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/63129-jämföra-gatuadresser-soundex-similar-text-etc"
---

# Jämföra gatuadresser (soundex, similar_text etc)

## #1 — Diggin, 2002-12-27T09:47Z

Tänkte implentera en funktion som jämför två strängar och avgör om det är samma gatuadress.

Ex.
Korrekt adress:
Kungsgatan 15, 2tr

Alternativ som ska ge rätt svar:
Kungsg. 15
Kungsg. 15,2
Kungsgat 15
Kungsg 15, 2 tr
etc.

Jag har tänkt använda mig av soundex samt similar_text.  Det kanske går att göra nån smart ereg_replace eller liknade för att lösa problemet. Soundex släpper igenom väldigt mycket (speciellt långa strängar) och jag tror inte metaphone är mycket bättre.

Nån som har några tips ???

soundex -- Calculate the soundex key of a string
similar_text --  Calculate the similarity between two strings

Permalänk: https://www.webforum.nu/p/63129

## #2 — Diggin, 2002-12-27T14:08Z

Ett litet kod exempel

```php
function cmpStreetName($str1, $str2)
{
   // Lägger till en bokstav i början på strängarna så att den kan jämföra t ex Catarina gata och Katarina gata.

   $str1 = "O" . strtoupper(trim($str1));
   $str2 = "O" . strtoupper(trim($str2));
   if(soundex($str1) == soundex($str2))
   {
       /* Här skulle behövas göras något åt g./g/gata/gatan etc */
       $i = similar_text($str1, $str2, &$p);
       if($p > 80)          //  strängarna liknar varandra till mer än 80%
          return true;
   }
   return false;
}
```

Permalänk: https://www.webforum.nu/p/894849

## #3 — Lasp, 2002-12-27T14:26Z

Soundex har ju mest byggts som amerikanskt likaljudande.
Om man tar bort alla vokaler och ersätter konsonanter med en siffra kommer man rätt när.
I ditt fall är det nog skrivningen av uppgång och våning som är det svåra. Bolla gärna fler exemepel. Hur kan man styra inmatningen?

Permalänk: https://www.webforum.nu/p/894861

## #4 — Diggin, 2002-12-27T14:47Z

Man kan inte styra inmatningen. Det är det som är det jobbiga. Antal trappor, lägenhetsnummer och liknade information är ointressant. 

Det som måste stämma är namnet på gatan och numret. Problemet är att det finns massa specialfall som sommarstugeområden, skärgården m fl. Dom kan ha helskumma adresser.

Permalänk: https://www.webforum.nu/p/894872

## #5 — Lasp, 2002-12-27T14:55Z

Om du tar postnumret till hjälp är du rätt nära.
Det finns en beskrivning på alla adresser inkl nummerstorheter på de större gatorna inom ett postnummer.
Kan det vara till hjälp?
Förklara gärna syftet med sökningen och vad du har för underlag.

Permalänk: https://www.webforum.nu/p/894876

---

Tråden på webben: https://www.webforum.nu/amne/php/63129-jämföra-gatuadresser-soundex-similar-text-etc
