Ciao a tutti,
sto cercando di fare un piccolo script che è in grado di recuperare una località all'interno di un testo.
Sono in parte riuscita a raggiungere l'obiettivo ma cerco qualche idea per far si che lo script funzioni bene.
Riassumento:
Ho un testo che contiene il nome di una localita.
Ho una tabella in un db con i nomi di tutte le localita e confronto ogni localita con il testo per vedere se è presente.
function strpos2($haystack, $needle, $nth = 1)
{
$haystack = ' '.$haystack;
if (!strpos($haystack, $needle))
return false;
$offset=0;
for($i = 1; $i < $nth; $i++)
$offset = strpos($haystack, $needle, $offset) + 1;
return strpos($haystack, $needle, $offset) - 1;
}
$string = 'abcdef abcdef dfgdsf gsdrwer ef gdsf gdsf gdsfgsdfgdsf gdsfdas fdsf df asdf san benedetto del tronto fdgs dfg dsf gdsf gdfgfdsgdgs f re tretret ';
$newstring=strtolower($string);
$sql="SELECT nome FROM localita";
$result=mysql_query ($sql);
while ($data=mysql_fetch_array($result))
{
$nome=$data['nome'];
$localita = strtolower($nome);
$pos = strpos2($newstring, $localita, 1);
if ($pos !='')//se ho trovato la localita mi faccio restituire la sua posizione ed il suo nome
{
echo "$pos $localita<br>";
}
else echo " ";
}
Il mio problema al momento è questo :
estrapolare il risultato corretto tra quelli ottenuti.
In questo caso infatti ho ottenuto questi risultati:
83 ne
134 re
96 ro
77 san benedetto
77 san benedetto
77 san benedetto del tronto
137 tret
ma la riga estatta è san benedetto del tronto....
non riesco a capire cosa potrei fare per ottenere il risultato corretto :bho:
mi sapreste dare una mano?
grazie
ciao