Reemplazar carácter con salto de línea

Estoy tratando de hacer un descompilador, finalmente logré descompilar el código en una cadena, pero quiero agregar un salto de línea después del carácter ";" así que probé:

str_replace(";", ";\n", $data);
file_put_contents($name.'.php', $data);

Pero no parece crear un salto de línea.

preguntado el 11 de septiembre de 13 a las 14:09

6 Respuestas

Usted debe hacer esto :

 $data = str_replace(";", ";\r\n", $data);

Las funciones str_replace devuelven una cadena, no modifican la cadena pasada en los parámetros.

Más información aquí:

http://php.net/manual/fr/function.str-replace.php

Respondido el 11 de Septiembre de 13 a las 14:09

Genial :) Tenga en cuenta mi respuesta como aceptada haciendo clic en el ícono gris de "verificación" debajo del conteo de votos. Gracias - cuero cabelludo

Lo haré pero necesito esperar 2 minutos - usuario2768789

para el nuevo salto de línea use la siguiente sintaxis:

 $data = str_replace(";", ";\r\n", $data); 

para el servidor Apache, siempre tenemos que usar \r antes de \n para el salto de línea.

Respondido el 11 de Septiembre de 13 a las 14:09

No está asignando la salida de str_replace a nada. Además, si está mirando su archivo en Windows, también debe agregar un retorno de carro "\r".

Respondido el 11 de Septiembre de 13 a las 14:09

Prueba esto ..

$data = str_replace(";", ";\r\n", $data);

Respondido el 11 de Septiembre de 13 a las 14:09

Deberías intentarlo

str_replace(";", ";\n\r", $data);
file_put_contents($name.'.php', $data);

E intente abrir en el bloc de notas ++ o texto sublime

Respondido el 11 de Septiembre de 13 a las 14:09

Si está en Windows, es posible que desee probar \r\n en lugar de solo \n, o tal vez mirar en el Constante PHP PHP_EOL que contiene

El símbolo correcto de 'Fin de línea' para esta plataforma. Disponible desde PHP 4.3.10 y PHP 5.0.2

"\r\n" Sin embargo, seguiría siendo la mejor solución para la compatibilidad entre sistemas. Se puede encontrar más información al respecto. en esta pregunta

Respondido 12 Abr '17, 08:04

Este no es el principal problema aquí. El problema principal es que el retorno de str_replace no está asignado a nada. - cuero cabelludo

Puede que no sea el problema principal, pero sigue siendo relevante, e incluso importante, para su pregunta. - NDM

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.