Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    260

    funzione che mediante una parola chiave cancella il seguito...

    Ciao ragazzi,
    Volevo sapere se esiste un funzione in php che mediante l'inserendo di una parola chiave, permette di cancellare tutto quello che viene dopo quest'ultima compresa la chiave stessa...

    es:
    codice:
    angelo mangia un panino mentre guarda la televisione.
    in pratica inserendo la chiave "mentre" deve cancellare tutto quello che viene dopo compresa se stessa.


    quindi il risultato dovrebbe essere il seguente:

    codice:
    angelo mangia un panino

    Nel caso conosceste una funzione che permette di fare quanto sopra indicato , sarei molto lieto se me la indicaste.

    Grazie mille

  2. #2
    usane due....

    codice:
    <?php
     
    $stringa = "angelo mangia un panino mentre guarda la televisione.";
    $key = "mentre";
    
    if(strpos($stringa, $key) == FALSE )  {
        echo $stringa;
        } else {
               echo substr($stringa, 0, strpos($stringa, $key) );    
               }
    ?>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    260
    Ciao raga,
    piero grazie per la risposta...
    però è sorto un altro problema, in pratica è vero che "apparentemente" viene eliminato tutto ciò che viene dopo la parola key, solo che facendo un test ulteriore con la variabile modificata risulta falsa:

    Codice PHP:
    <?php
     $stringa 
    "angelo mangia un panino mentre guarda la televisione.";
    $key "mentre";

    if(
    strpos($stringa$key) == FALSE )  {
        echo 
    $stringa;
        } else {
              
    $invio substr($stringa0strpos($stringa$key) );    
               }
    //test per verificare se la variabile è realmente uguale al risultato desiderato
    $prova"angelo mangia un panino";

    if(
    $invio == $prova){
    print 
    "la variabile è uguale";
    } else {
    print 
    "la variabile non uguale";
    }
    ....................
    ?>
    Il risultato è "la variabile non uguale", però esguendola con echo o print apparentemente sembrano uguali.
    Il problema è che quella variabile deve essere riutilizzata per altre operazioni, quindi deve essere veritiera...

    Da cosa dipende questo problema? Esiste um modo per risolverlo?

    Grazie mille

  4. #4
    aggiungi un TRIM() ... rimane uno spazio alla fine della stringa.

    $invio = TRIM(substr($stringa, 0, strpos($stringa, $key) ) );

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    260
    Grazie mille funziona!!!
    Il bello è che l'avevo pensato anche io questo problema dello spazio in più infatti ho provato a fare "trim($invio);" ma il risultato non variava, invece applicandolo direttamente alla funzione come da te indicato funziona perfettamente...


    Grazie mille

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.