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

    eliminare caratteri doppi

    Salve a tutti... Domanda semplice semplice

    esiste in php un modo per fare in modo che lettere o punteggiatura ripetuta venga resa singola?

    esempio

    Ciao!!!!!!!! > Ciao!

    Uffa....... > Uffa...

    ihihihihihihihihih > ihih

    pensavo a un str_replace ma come posso impostare, per esempio, che se il carattere "." è inserito più di 3 volte si veda a video "..." ecc ecc?

    grazie

  2. #2
    ciao,
    siccome in php le stringhe sono considerate array di caratteri, puoi ciclare con un for la stringa e esaminare carattere per carattere.
    tipo così:

    $text = "Ciaoooo!!! Come va??? ";
    $new_text = "";

    for ($i=0; $i<=strlen($text); $i++){
    if ($i > 0) {
    if ($text[$i] != $text[$i-1]){
    $new_text .= $text[$i];
    }
    }
    else {
    $new_text .= $text[$i];
    }
    }

    la variabile $new_text conterrà la stringa "pulita"
    per i tre puntini ti basterà mettere un utleriore if nel ciclo..
    X-Project - Web Developer
    www.x-project.it

  3. #3
    Il problema e' che i tuoi tre esempi seguono tre regole diverse, quindi o trovi una regola generale o bisogna fare una sostituzione specifica per ogni caso singolo.

  4. #4
    Esempi:

    codice:
    $str = 'Ciao!!!!!!!!';
    echo preg_replace('#!!+#', '!', $str);
    
    $str = 'Uffa.......';
    echo preg_replace('#\.\.\.\.+#', '...', $str);
    
    $str = 'ihihihihihihihihih';
    // boh qui non saprei che regola applicare

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.