2010-07-08 21 views
8

esiste un metodo php per rimuovere il nuovo carattere di linea dalla stringa?Come uscire dalla nuova riga dalla stringa

$str =" 
Hi 
there 
"; 

mia stringa contiene una nuova linea tra char 'Ciao' e 'ci' Voglio uscita come un "Ciao" .non voglio usare espressioni regolari.

risposta

5

$str=str_replace("\n", "", $str); dovrebbe farlo.

"\n" rappresenta una nuova riga in php.

+0

I secondi questa risposta. – David

+0

manca la terminazione della linea – nathan

+0

nathan, vedere il mio commento sulla risposta di Alex. –

11

Questo è un po 'di confusione

Esiste un metodo per rimuovere php new char linea da stringa?

Sembra davvero che tu voglia sostituirli con uno spazio.

$str = str_replace(array("\r\n", "\n", "\r"), ' ', $str); 

Supponendo che la sostituzione vada da sinistra a destra, questo dovrebbe soddisfare i file di testo di Windows.

Il primo raggruppamento deve corrispondere ai ritorni di Windows che utilizzano sia \ r che \ n.

+0

ora produce 'Ciao là', se il terminatore di riga era sia \ r che \ n come nei file di Windows, allora hai una doppia spaziatura – nathan

+0

, ora hai solo bisogno del doppio gestore spazio - quasi lì (ps farà +1 in oo 6 minuti, per i limiti quindi) – nathan

+0

@nathan Che cosa stai dicendo raddoppierà lo spazio - non dovrebbe la prima sostituzione coprire la combinazione con un singolo spazio, e poi gli altri rimuoveranno le terminazioni della linea stile Unix? – alex

3

per ottenere i risultati attesi, ti servirà:

$str = trim(str_replace(array("\r\n","\r","\n",' '), ' ' , $str)); 

o con espressioni regolari (che fail-safe, non si può tenere conto di tutta la spaziatura aggiuntivi che si possono ottenere con la versione str_replace):

$str = trim(preg_replace(array('/\v/','/\s\s+/'), ' ' , $str)); // 'Hi there' 
+0

L'OP ha detto che non vogliono usare un'espressione regolare. – alex

+0

lol notato e ordinato! – nathan

0

È possibile utilizzare sotto lo script.

$ str = str_replace ("\ n", "", $ str);

Grazie

4

Non c'è modo di sfuggire a newline in PHP.

Come indicato nella documentazione di PHP su strings dopo aver elencato tutti i caratteri di escape:

Come in singole stringhe tra virgolette, in fuga qualsiasi altro personaggio si tradurrà nella barra inversa viene stampato troppo.

Quindi è possibile farlo rompendo la stringa in ogni riga e li concatenando dal punto in questo modo:

$str = "Hi " . 
"there" . 
"!"; 
Problemi correlati