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

    esplodere un array in base a più separatori

    come faccio in php ad usare la funzione explode con più separatori ad lo spazio la virgola ed il punto???

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    non puoi direttamente... usa le regexp oppure itera su più chiamate...

  3. #3
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    forse facendola esplodere tante volte quanti sono i tipi di separatore
    If you think your users are idiots, only idiots will use it. DropBox

  4. #4

    @eiyen potresti essere più chiaro

    sorry capisco poco di php

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Codice PHP:
    function multiexplode($limits$string) {
    // es. multiexplode(array(' ', ','), "esempio,come prova")
    // -> array('esempio', 'come', 'prova')
      
    $string str_replace($limits$limits[0], $string);
      return(
    explode($limits[0], $string));
    };
    var_export(multiexplode(array(' '','), "esempio,come prova")); 
    se metti due caratteri consecutivi di separazione hai una stringa vuota (puoi eliminarle, se vuoi)

    in pratica è una possibilità: sostituisci tutti i caratteri di separazione con il primo e poi "esplodi" solo con quello...

  6. #6

    grazie ancora

    Originariamente inviato da eiyen
    Codice PHP:
    function multiexplode($limits$string) {
    // es. multiexplode(array(' ', ','), "esempio,come prova")
    // -> array('esempio', 'come', 'prova')
      
    $string str_replace($limits$limits[0], $string);
      return(
    explode($limits[0], $string));
    };
    var_export(multiexplode(array(' '','), "esempio,come prova")); 
    se metti due caratteri consecutivi di separazione hai una stringa vuota (puoi eliminarle, se vuoi)

    in pratica è una possibilità: sostituisci tutti i caratteri di separazione con il primo e poi "esplodi" solo con quello...
    grazie ma ho risolto così:
    Codice PHP:
    $sempreg_split('/[\s,\.]+/'"$lettera"); 

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.