Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    370

    Estrarre determinate frasi da un testo.

    Avrei bisogno di cercare ed estrarre da un testo tutte le frasi contenenti una determinata parola.
    I limiti delle frasi sono l'inizio con la maiuscola (o altro simbolo) e la fine con un punto.
    Le frasi estratte mi servirebbero disposte una per riga per facilitarne la lettura.

    E'possibile?

    Grazie.
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  2. #2
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    370
    Il testo lo inserisco in un campo di una determinata tabella con php e mysql.
    In quel testo dovrei estrapolare tutte le frasi contenenti una determinata parola.
    Come posso delimitare le frasi per poi estrapolarle per intero quando corrispondono al criterio della mia ricerca?
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  3. #3
    quando interroghi il db usa LIKE

  4. #4
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    370
    Quote Originariamente inviata da _Marco_87 Visualizza il messaggio
    Sembra una funzione semplice, ma non è così, in teoria dovresti solo trovare una parola corrispondente e poi da lì cercare il primo e l'ultimo '.' per vedere dove inizia e finisce la frase. Il problema è questo: come delimiti l'inzio e la fine di una frase?
    'Che bella giornata. Vorrei andarmi a comprare un bel gelato, adesso chiamo qualcuno e ci andiamo a fare un giro.'
    'Pronto, oh ci sei?Che figata zio...Ti ha chiamato poi quella tipa? '
    Qual'è il criterio con cui divideresti queste frasi una volta trovata la parola? Fai finta di dover cercare una parola che ci sia veramente in ogni frase, ad esempio: bella , comprare , delimiti, Pronto , zio, quella.
    Se ad esempio devi prendere zio cosa uscirebbe: 'Che figata zio' oppure 'Che figata zio...'?
    Quello che vuoi puoi farlo creando una funzione che prima trova la parola in un testo, poi deve capire qual'è la frase del testo che deve prendere(tentendo conto anche della punteggiatura) e poi tramite una funzione range, o una serie di split sulla punteggiatura in questione prendi quello che cerchi ad esempio usando una funzione tipo preg_match.
    Eccoti qui un esempio:
    Codice PHP:
      <?php
    $subject 
    "abcdef";
    $pattern '/^def/';
    preg_match($patternsubstr($subject,3), $matchesPREG_OFFSET_CAPTURE);
    print_r($matches);
    ?>
    Se ti serve urgentemente la posso fare anche io per te, ovviamente dietro compenso basta che mi contatti e ci mettiamo d'accordo.
    Le frasi che devo inserire sono molto sintetiche ed iniziano e finiscono con qualcosa che poi dovrebbe agevolarne l'estrazione con un LIKE che ricerca la parola chiave, quel qualcosa potrebbe essere un punto all'inizio ed alla fine?

    Tutte le frasi sono dentro nello stesso campo, separate appunto solo da quel qualcosa che ne aiuterà l'estrapolazione intera quando è èresente la parola ricercata.

    Nel caso la parola sia ripetuta, mi servirebbe poter mettere le frasi in righe diverse per agevolarne la lettura.
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  5. #5
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    370
    A me basterebbe sapere cosa utilizzare come delimitatore per le frasi che vado a salvare per poi utilizzarli come inizio e fine della frase contenente la parola ricercata.

    Inizio e fine con un punto, una linea?
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  6. #6
    delimitatore di che? fa' un esempio, grazie

  7. #7
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    370
    Le seguenti frasi vanno tutte nel medesimo campo delimitate da qualcosa che ne faciliti l'intera estrapolazione:
    Mario ha due moto
    Claudio e Mario hanno due moto
    Mi sono trovato con Giulio allo stadio
    Non ho idea di come uno come Claudio possa ascoltare Mario

    Nel caso la parola cercata sia Mario i risultati dovranno essere

    "Mario ha due moto"
    "Claudio e Mario hanno due moto"
    "Non ho idea di come uno come Claudio possa ascoltare Mario"
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

  8. #8
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Forse una cosa del genere potrebbe andare:

    Codice PHP:
    $search preg_quote("Mario");
    $pattern "/[^\.]*($search)[^\.]*/";
    $txt "Mario ha due moto.Claudio e Mario hanno due moto.Mi sono trovato con Giulio allo stadio.Non ho idea di come uno come Claudio possa ascoltare Mario.";
    preg_match_all($pattern$txt$matches);
    print_r($matches[0]); 
    C'è da dire che nella parola da cercare non può esserci il punto (visto che fa da separatore). Se vuoi che sia case insensitive basta che aggiungi la 'i' alla fine di $pattern (/[^\.]*($search)[^\.]*/i)

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    io farei così:
    • salvataggio delle frasi nel DB (singolo campo, da quello che dici) delimitate da un separatore che non possa essere un segno di punteggiatura (direi la pipe "|")
    • query LIKE nel DB sul campo dove hai salvato le frasi con il termine che stai cercando
    • dai risultati della query, prendi il campo dove hai salvato le frasi, lo esplodi usando la pipe come delimitatore, cicli l'array che ottieni cercando all'interno dell'elemento il termine che hai usato nella query LIKE e, se lo trovi, ti salvi la frase in un array di appoggio
    • a fine ciclo, con l'array di appoggio fai quello che vuoi (stampa a schermo, uso in altre funzioni, ecc).

  10. #10
    Utente di HTML.it L'avatar di Max Della Pena
    Registrato dal
    Jan 2014
    residenza
    Udine
    Messaggi
    370
    Grazie a tutti, non mi ci sono ancora messo per problemi di tempo ma conto di farlo appena possibile.
    Mi chiedo, caro Alberto, se questo antifascismo rabbioso che viene sfogato nelle piazze oggi a fascismo finito, non sia in fondo un’arma di distrazione che la classe dominante usa su studenti e lavoratori per vincolare il dissenso.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.