Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251

    Estrapolare parole composte da un array

    Ciao.

    Ho delle porzioni di testo da cui devo estrapolare delle particolari parole.
    Le parole sono alcuni comuni italiani.

    Faccio come segue:
    genero array comuni italiani.
    Uso la funzione explode del testo in cui devo cercare i comuni
    Metto in comparazione il tutto e se nel testo è presente un comune del database riesco ad estrapolarlo dal testo.

    Il problema c'è lo quando i comuni sono composti da più parole.

    Nell'esempio di seguito "Brescia" lo trova ma "Desenzano del Garda" no.

    Leggendo il codice sotto è ovvio che non possa trovare comuni con parole composte, ma non saprei come fare..

    Un aiuto?
    Grazie

    Codice PHP:
    ....
    while(
    $row mysql_fetch_array($query_results2))
    {
     
    $os[] = $row['nome'];



    $stringa "bla bla bla Brescia blabla bla bla Desenzano del Garda bla bla bla";
    $descrizione explode(" "$stringa);

    for (
    $i=0$i<=80$i++) 
    if (
    in_array($os[$i], $descrizione)) {
    ...
                } 

  2. #2
    prova così..

    Codice PHP:
    $testo "bla bla bla Brescia blabla bla bla Desenzano del Garda bla bla bla";
    while(
    $ref mysql_fetch_row($query_seleziona_comuni) {
    $comune $ref[POSIZIONE_NEL_DB];

    $search strpos($testo$comune);
    if(
    $search === true) {
    $comuni_trovati = array();
    $comuni_trovati[] = $comune;
    }
     }

    foreach(
    $comuni_trovati as $value) {
    echo 
    $value."
    "
    ;

    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  3. #3
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251
    Grazie per il reply.

    Ho testato il tuo codice ma mi da il seguente errore.. e non riesco a capire il perchè.

    Parse error: syntax error, unexpected '{'
    nella seguente riga
    while($ref = mysql_fetch_row($query_seleziona_comuni) {

  4. #4
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    bisogna chiudere le ( quando si aprono!!!

  5. #5
    Giusto luke, errore di distrazione :P

    Codice PHP:
    $testo "bla bla bla Brescia blabla bla bla Desenzano del Garda bla bla bla";
    while(
    $ref mysql_fetch_row($query_seleziona_comuni)) {
    $comune $ref[POSIZIONE_NEL_DB];

    $search strpos($testo$comune);
    if(
    $search === true) {
    $comuni_trovati = array();
    $comuni_trovati[] = $comune;
    }
     }

    foreach(
    $comuni_trovati as $value) {
    echo 
    $value."
    "
    ;

    Avevo dimenticato una parentesi tonda.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  6. #6
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251
    Grazie.. prima di postare avrei dovuto guardare meglio.

    Ora l'errore è il seguente
    Invalid argument supplied for foreach()

  7. #7
    Prova a togliere il foreach e scrivere:

    print_r($comuni_trovati);

    Se non appare nulla vuol dire che c'è un errore prima, altrimenti (se appare qualcosa) non so da cosa sia dovuto
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  8. #8
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251
    Infatti non appare nulla.

  9. #9
    Hai modificato questa parte?

    Codice PHP:
    $comune $ref[POSIZIONE_NEL_DB]; 
    Calcolando che le posizioni dei campi nella tabella vanno a partire da 0, quindi se hai:

    Stato | Comune

    la riga sarà:

    Codice PHP:
    $comune $ref[1]; 
    ..

    Oppure modifica tutto lo script così:

    Codice PHP:
    $testo "bla bla bla Brescia blabla bla bla Desenzano del Garda bla bla bla";
    while(
    $ref mysql_fetch_row($query_seleziona_comuni)) {
    $comune $ref[POSIZIONE_NEL_DB];

    $search strpos($testo$comune);
    if(
    $search === false) {
    } else {
    $comuni_trovati = array();
    $comuni_trovati[] = $comune;
    }
     }

    foreach(
    $comuni_trovati as $value) {
    echo 
    $value."
    "
    ;

    Non so perchè ma se passo true come valore nella if da problemi, se passo false no.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  10. #10
    Utente di HTML.it L'avatar di Mister
    Registrato dal
    Jan 2001
    Messaggi
    251
    Grazie mille..
    ora comincia a funzionare anche se ci sono ancora dei problemi.

    Mi risulta:

    Codice PHP:
     // print_r($comuni_trovati);
    Array ( [0] => Brescia ) Array ( [0] => Desenzano del Garda ) Array ( [0] => Garda 

    Warningstrpos() [function.strpos]: Empty delimiter 

    // $value
     
    Garda 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.