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

    Togliere gli spazi prima e dopo una virgola

    Come faccio a togliere gli spazi se presenti prima o dopo una virgola??

    Per esempio ho:

    $tag = "associazione , sportiva, cultura, tempo libero, circolo sportivo";

    devo ottenere $tag_clean = "associazione,sportiva,cultura,tempo libero,circolo sportivo";

    per poi usare il comando split


    Codice PHP:
    $split split(",",$tag_clean);

    $items count($split);

    for (
    $x 0$x $items$x++) {

    print 
    $split[$x];



  2. #2
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Togliere gli spazi e poi splittare è una brutta idea.
    Meglio splittare prima, e poi togliere gli spazi:
    Codice PHP:
    $split split("," $tag);
    $items count($split);
    for (
    $x 0$x $items$x++) {
      print 
    trim($split[$x]);


  3. #3
    Credo che questo script sia incompleto, però.
    Mi sembra di potere dire che le parole, vengano private si degli spazi, ma anche della virgola che le separa.
    Per come ha scritto JoeP, si otterrebbe una stringa unica contenente tutte le parole appicciate ognuna alle altre.

    A mio modesto parere, lo script andrebbe modificato come segue:

    Codice PHP:
    $split split("," $tag); 
    $items count($split); 
    for (
    $x 0$x $items$x++) { 
      
    $tag_ricostruito .= trim($split[$x]).","

    La variabile $tag_ricostruito conterrebbe in questo modo tutte le parole della stringa iniziale, separate da una virgola ma senza spazi né prima né dopo.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    $tag = "associazione , sportiva, cultura, tempo libero, circolo sportivo";
    echo preg_replace('#\s*,\s*#',',',$tag);

  5. #5
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Originariamente inviato da alcio74
    A mio modesto parere, lo script andrebbe modificato come segue:
    La variabile $tag_ricostruito conterrebbe in questo modo tutte le parole della stringa iniziale, separate da una virgola ma senza spazi né prima né dopo.
    Dici bene, ma io mi sono basato sull'esempio di codice postato inzialemente per fare la mia modifica. E se ci guardi, dopo aver splittato, lui stampa usando un for tutte le parole appiccicate l'una all'altra. Sicuramente il suo era solo un esempio, il suo ciclo for sarà più complicato e stamperà cose diverse (link? saranno inserimento in db? non importa). Quindi anche il mio era solo esemplificativo!

  6. #6
    ogni singola parola la metto su DB

  7. #7
    Utente di HTML.it L'avatar di JoeP
    Registrato dal
    May 2004
    Messaggi
    558
    Originariamente inviato da Asia82
    ogni singola parola la metto su DB
    Ecco, appunto, quindi vai tranquillo con:
    Codice PHP:
    $tag "associazione , sportiva, cultura, tempo libero, circolo sportivo"// La tua stringa
    $split split("," $tag); // Splitta in corrispondenza della virgola
    $items count($split); // Conta le parole dell'array
    for ($x 0$x $items$x++) { // Cicla sull'array
      
    $parola trim($split[$x]); // Prendi la parola senza spazi superflui
      /* Qui tutte le istruzioni per mettere $parola sul db... */


  8. #8

    Per JoeP

    Dici bene, ma io mi sono basato sull'esempio di codice postato inzialemente per fare la mia modifica. E se ci guardi, dopo aver splittato, lui stampa usando un for tutte le parole appiccicate l'una all'altra. Sicuramente il suo era solo un esempio, il suo ciclo for sarà più complicato e stamperà cose diverse (link? saranno inserimento in db? non importa). Quindi anche il mio era solo esemplificativo!
    Guarda.... mi ero permesso di intervenire solo perché, non conoscendo il suo grado di preparazione in PHP, Asia82 avrebbe potuto avere qualche problema con lo script.

    In poche parole, non volevo fare il maestrino ma solo rendere lo script maggiormente accurato.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.