Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    50

    [PHP] funzione elimina spazi

    Ho appena realizzato questa funzioncina per eliminare gli spazi da una stringa potreste dirmi come vi sembra....grazie

    Ma una curiosità in php non c'è il terminatore della stringa come in C e cioè il \0 vero...





    <?php

    $stringa = "CIAO A TUTTI";
    $flag = 1;

    $stringa[strlen($stringa)]="\1";

    while($flag)
    {
    for($i=0; $i<strlen($stringa)-1; $i++)
    {
    if($stringa[$i]==' ')
    {
    for($j=$i; $j<strlen($stringa)-1; $j++)
    $stringa[$j]=$stringa[$j+1];
    }
    }

    for($i=0; $i<strlen($stringa)-1; $i++)
    {
    if($stringa[$i]!==' ')
    $flag=0;
    else
    $flag=1;
    }

    }

    echo $stringa;

    ?>

  2. #2
    mi smebra troppo "lunga", perchè non usare quelle native di php,dovrebbero essere più veloci ed ottimizzate.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    50
    Infatti hai ragione il codice che ho fatto funziona solamente che poi alla fine rimangono dei caratteri speciali come il \1 che mi serve come terminatore e quindi poi dovrei fare anche una funzione per la stampa che mi esclude i \1 che rimangono alla fine....meglio utilizzare quelle già implementate...

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858


    codice:
    echo preg_replace("/ /","",$stringa);
    think simple think ringo

  5. #5
    codice:
    <?
    function senza_spazi($stringa)
    {
    	return implode("",explode(" ",$stringa));
    }
    
    echo senza_spazi("Ciao Mondo, HELLO WORLD");
    ?>
    Marketto io preferisco farla così

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ho fatto un piccolo test con un file di testo da 4mb:
    usando implode ed explode il tempo impiegato per la rimozione degli spazi ammonta a circa 9 secondi, usando preg_replace esso scende a 0.3 secondi
    think simple think ringo

  7. #7
    se la butti sulle performance... hai ragione!

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.