2010-07-08 23 views
8

¿Hay algún método de php para eliminar la nueva línea de caracteres de la cadena?Cómo escapar de una nueva línea de la cadena

$str =" 
Hi 
there 
"; 

mi cadena contiene una nueva línea entre Char 'Hola' y 'no' i quieren salida como un "Hola" .I no quieren usar expresiones regulares.

Respuesta

5

$str=str_replace("\n", "", $str); debería hacerlo.

"\n" representa una nueva línea en php.

+0

Secundo esta respuesta. – David

+0

se pierde la terminación de la línea – nathan

+0

nathan, vea mi comentario en la respuesta de Alex. –

11

Esto es un poco confuso

¿Hay algún método para eliminar php Nuevo car línea de cuerda?

Parece que realmente quiere que se reemplacen con un espacio.

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

Asumiendo que la sustitución va de izquierda a derecha, esto debería adaptarse a los archivos de texto de Windows.

La primera agrupación es hacer coincidir las líneas nuevas de Windows que usan tanto \ r como \ n.

+0

ahora produce 'Hola', si el terminador de línea era \ ry \ n como en los archivos de Windows, entonces tiene doble espacio – nathan

+0

solo necesita el controlador de doble espacio ahora - casi allí (ps + 1 en oo 6 minutos, ty para los límites) – nathan

+0

@nathan ¿Qué está diciendo que duplicará el espacio? ¿No debería la primera sustitución cubrir la combinación con un solo espacio, y luego los otros eliminarán las terminaciones de línea de estilo de Unix? – alex

3

para obtener los resultados esperados, que voy a necesitar:

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

o con expresiones regulares (que es a prueba de fallos, no se puede dar cuenta de todo el espacio adicional se puede obtener con la versión de str_replace):

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

El OP dijo que no querían usar una expresión regular. – alex

+0

¡lol anotado y ordenado! – nathan

0

Puede utilizar la siguiente secuencia de comandos.

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

Gracias

4

no hay manera de escapar de nueva línea en PHP.

Como se menciona en la documentación de PHP en strings después de enumerar todos los caracteres de escape:

Como en cadenas entre comillas sencillas, escapando de cualquier otro carácter resultará en la barra invertida se imprimen también.

Así que usted puede hacerlo por la fractura de su cadena en cada línea y la concatenación de ellas por el DOT como esto:

$str = "Hi " . 
"there" . 
"!"; 
Cuestiones relacionadas