Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Ricerca in stringa a ritroso

    Vorrei ricercare un occorrenza all’interno di una stringa procedendo a ritroso (se necessario)
    In modo da poter realizzare una sub stringa che:
    va dall’inizio all’ultima occorrenza.
    Oppure
    Dalla fine alla prima occorrenza a ritroso


    Codice PHP:
                $my_str "testo o frase 01, testo o frase 02, testo o frase 03, testo o frase 04, testo o frase 05";
                echo 
    "my_str_len: " strlen($my_str) . "
    \n"
    ;
                
    // restituisce: 88
                
    $my_new_str substr($my_str080);
                echo 
    "my_new_len: " strlen($my_new_str) . "
    \n"
    ;
                
    // restituisce: 80
                
    echo "my_new_str: " $my_new_str "
    \n"
    ;
                
    // restituisce: testo o frase 01, testo o frase 02, testo o frase 03, testo o frase 04, testo o 
    Vorrei identificare l’ultima occorrenza della virgola e troncare la stinga al quel punto,
    ovvero terminare con (testo o frase 04)
    cichity74 :master:

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo. Comunque penso sia fattibile anche con le espressioni regolari.

    Codice PHP:
    <? 
    $my_str 
    "testo o frase 01, testo o frase 02, testo o frase 03, testo o frase 04, testo o frase 05";
    $arr    split(",",$my_str);
    array_pop($arr);
    $new_str implode(",",$arr);
    print 
    "prima : $my_str
    "
    ;
    print 
    "dopo  : $new_str
    "
    ;
    ?>

  3. #3
    dimmi se ho capito cosa ti serve.

    hai una stringa costituita in questo modo:

    Codice PHP:
    $my_str "testo o frase 01, testo o frase 02, testo o frase 03, testo o frase 04, testo o frase 05"
    cioè testo,altrotesto,qualcosa,una frase,ultima frase

    vuoi eliminare l'ultimo pezzo dopo la virgola, cioè "ultima frase".

    se è questo che vuoi fare:

    Codice PHP:
    $stringa "testo o frase 01, testo o frase 02, testo o frase 03, testo o frase 04";
    $stringa=explode(",",$stringa);
    $max=(strlen($stringa))-1;

    for (
    $i=0$i<$max$i++)
          
    $str.=$stringa[$i].","
    ps non l'ho provato

  4. #4
    Ho risolto
    non so se esistono dei metodi / funzioni + preformanti, comunque funziona


    Codice PHP:
                $my_str "testo o frase 01, testo o frase 02, testo o frase 03, testo o frase 04, testo o frase 05";
                
                
    $sub_str substr($my_str074);
                echo 
    "sub_str: " $sub_str "
    \n"
    ;
                
                
    $str_len strlen($sub_str);
                echo 
    "str_len: " $str_len "
    \n"
    ;
                
                
    $last_chr strlen(strrchr($sub_str','));
                echo 
    "last_chr: " $last_chr "
    \n"
    ;
                
                
    $my_new_str substr($sub_str0, ($str_len $last_chr));
                echo 
    "my_new_str: " $my_new_str "
    \n"


  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Con le espressioni regolari è sempre meglio.

    Codice PHP:
    <? 
    $my_str 
    "testo o frase 01, testo o frase 02, testo o frase 03, testo o frase 04, testo o frase 05";
    eregi("^(.*),",$my_str,$regs);
    $new_str $regs[1];
    print 
    "prima : $my_str
    "
    ;
    print 
    "dopo  : $new_str
    "
    ;
    ?>

  6. #6
    strrchr
    (PHP 3, PHP 4 )
    strrchr -- Find the last occurrence of a character in a string
    ---------------
    associato a:
    strlen
    (PHP 3, PHP 4 )
    strlen -- Get string length
    ---------------
    mi restituisce l'indice dell'ultima occorenza.

    che io sappia le espressioni regolari impegnano più risorse....
    comunque ciao e grazie a tutti per i suggerimenti :rollo:
    cichity74

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.