Saltar al contenido

Reemplazar múltiples saltos de línea, tabulaciones y espacios

Luego de investigar en varios repositorios y páginas webs de internet al terminar nos encontramos con la resolución que te enseñamos a continuación.

En teoría, su expresión regular funciona, pero el problema es que no todos los sistemas operativos y navegadores envían solo n al final de string. Muchos también enviarán un r.

Tratar:

He simplificado este:

preg_replace("/(r?n)2,/", "nn", $text);

Y para abordar el problema de algunos envíos r solamente:

preg_replace("/[rn]2,/", "nn", $text);

Basado en su actualización:

// Replace multiple (one ore more) line breaks with a single one.
$text = preg_replace("/[rn]+/", "n", $text);

$text = wordwrap($text,120, '
', true); $text = nl2br($text);

Use R (que representa cualquier secuencia de final de línea):

$str = preg_replace('#R+#', '

', $str);

Se encontró aquí: Reemplazar dos líneas nuevas con etiquetas de párrafo

Documentación de PHP sobre secuencias de Escape:

R (salto de línea: coincide con n, r y rn)

Esta es la respuesta, según entiendo la pregunta:

// Normalize newlines
preg_replace('/(rn|r|n)+/', "n", $text);
// Replace whitespace characters with a single space
preg_replace('/s+/', ' ', $text);

Esta es la función real que uso para convertir nuevas líneas en elementos de párrafo y salto de línea HTML:

/**
 *
 * @param string $string
 * @return string
 */
function nl2html($text)
nn)(s+)?/', '/rn

Al final de la post puedes encontrar las críticas de otros creadores, tú también eres capaz mostrar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *