2010-01-02 17 views

Respuesta

35
$string = str_replace("\n", "", $string); 
$string = str_replace("\r", "", $string); 
+1

que me ayudó mucho porque – Rinzler

66
$string = str_replace(PHP_EOL, '', $string); 

o

$string = str_replace(array("\n","\r"), '', $string); 
+3

1 PHP_EOL atrapa nuevas líneas que \ n \ r \ n \ r señorita. – Mark

+3

No funciona para mí. Primero, que PHP_EOL no fue reconocido en absoluto. En segundo lugar, si primero quita \ n y luego está buscando \ r \ n no los encontrará, porque \ n ya se eliminó. – MilanG

+0

@MilanG Puede buscar aquí todas las constantes de php predefinidas: http://php.net/manual/en/reserved.constants.php Verá allí PHP_EOL. Probablemente estés en lo correcto con respecto a tu segunda declaración, arreglaré esto. Gracias – AntonioCS

11

Para eliminar varias líneas nuevas se recomienda el uso de una expresión regular:

$my_string = trim(preg_replace('/\s\s+/', ' ', $my_string)); 
+0

+1 por usar realmente expresiones regulares como el OP pedido – rorypicko

+0

el símbolo '+' significa 1 o más, no necesita los primeros '\ s'. –

+0

¿El grupo de expresiones regulares no incluye elementos como pestañas y espacios comunes, en cuyo caso esta respuesta es extremadamente codiciosa? – Kzqai

1

probar esto Su trabajo para mí

Primero quita n de cadena (utilizar una doble barra antes n),

Luego retire r de cadena como n

CÓDIGO:

$string=str_replace("\\n",$string); 
$string=str_replace("\\r",$string); 
6

Mejor usar,

$string = str_replace(array("\n","\r\n","\r"), '', $string).

Porque algunos saltos de línea permanecen como están en la entrada textarea.

3

Algo un poco más funcional (fácil de usar en cualquier lugar):

function strip_carriage_returns($string) 
{ 
    return str_replace(array("\n\r", "\n", "\r"), '', $string); 
} 
Cuestiones relacionadas