Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    22

    Eliminare articoli da una stringa

    Ciao a tutti,come da titolo dovrei eliminare gli articoli da un testo che è contenuto in una variabile.

    La mia soluzione di codice è la seguente:
    Codice PHP:
    function filtro2($text,$separatore) {

    $separatore = array('il''lo''la''il''gli' ,'le');

        if (
    is_array($separatore)) {
            foreach (
    $separatore as $current) {
            
            
    $text str_replace($separatore""$text);
            
            }
            echo 
    $text;
    }

    Ovviamente è una parte di codice,ma è quella che riguarda l'eliminazione degli articoli.

    Questa soluzione però mi toglie anche parti di testo che non sono articoli,il mio ragionamento è che un articolo è sempre preceduto e seguito da uno spazio,ma pensandoci non è sempre vero infatti se inizio una frase con l'articolo questo non è preceduto da uno spazio.

    Quindi come potrei fare?

  2. #2
    Utente di HTML.it L'avatar di sgogghy
    Registrato dal
    Sep 2010
    Messaggi
    237
    Nel caso in cui una frase inizi con un articolo, ti consiglio di aggiungere nell'array gli articoli con la prima lettera maiuscola.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Forse un modo per coprire più casi sarebbe agire solo sugli articoli che hanno subito prima e subito dopo caratteri che non siano lettere, utilizzando un'espressione regolare

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503

    Re: Eliminare articoli da una stringa

    Fixed
    Originariamente inviato da macco_cl
    ...il mio ragionamento è che un articolo è sempre preceduto e/o seguito da uno spazio...
    Poi ti resta fuori solo l' ed L', ma basta aggiungerli all'array.


    Perché fai questo controllo?
    if (is_array($separatore))

    A che serve dato che $separatore l'hai dichiarato alla riga precedente come array? La condizione sarà sempre vera.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    22
    il controllo se è un array l'ho messo perchè successivamente $separatore potrebbe non essere più un array ma una virgola o un altro segno di punteggiatura.

    il maiuscolo e minuscolo non mi preoccupa perche uso la funzione strtolower e metto tutto minuscolo.

    il mio problema persiste per gli articoli che sono all'inizio di frasi.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Originariamente inviato da macco_cl
    il controllo se è un array l'ho messo perchè successivamente $separatore potrebbe non essere più un array ma una virgola o un altro segno di punteggiatura.
    ...
    Successivamente quando?
    Il controllo non è dentro un ciclo, viene eseguito solo una volta e quella volta la condizione è sicuramente vera.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    22
    il mio successivamente non era legato a questo codice mi sono espresso male,in un secondo tempo scriverò altro codice che andrà messo nella stessa pagina e separatore non sarà più dichiarato come array,questo codice diventerà una funzione che prenderà come parametro $separatore e allora il controllo mi servirà.

    Spero di essere stato chiaro.

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.