2013-05-24 16 views
7

stavo cercando un modo per rimuovere spazi bianchi in eccesso all'interno di una stringa (ovvero, se 2 o più spazi sono uno accanto all'altro, lasciare solo 1 e rimuovere gli altri), i trovato questo Remove excess whitespace from within a string e ho voluto usare questa soluzione:PHP - Rimuovi spazi vuoti in eccesso ma non nuove righe

$foo = preg_replace('/\s+/', ' ', $foo); 

ma questo rimuove nuove linee entrava, mentre io voglio tenerli. C'è un modo per mantenere le nuove linee rimuovendo gli spazi bianchi in eccesso?

+0

Sostituisci '\ s' con uno spazio? Se vuoi anche rimuovere le schede, usa '/ [\ t] + /' – HamZa

risposta

4

se si desidera rimuovere l'eccesso di soli-spazi (non le schede, le nuove linee, ecc) potresti utilizzare il codice HEX per essere più specifico:

$text = preg_replace('/\x20+/', ' ', $text); 
+0

Ci sono molti spazi che non sono lo spazio ASCII 32 ('\ x20'). – Piskvor

Problemi correlati