¿Cómo mostrar solo una nueva línea usando NL2BR?
Pregunta
estoy usando nl2br()
para convertir \n
personajes al <br />
etiqueta pero no quiero más de uno <br />
etiqueta a la vez. Por ejemplo, Hello \n\n\n\n Everybody
debe convertirse Hello <br /> Everybody
.
¿Cómo puedo hacer esto?
Solución
El enfoque más directo podría ser reemplazar primero las múltiples nuevas líneas con una usando una expresión regular simple:
nl2br(preg_replace("/\n+/", "\n", $input));
Otros consejos
Si tiene PHP 5.2.4+, puede usar preg_replace y el tipo de carácter de espacio blanco vertical \v
$str = preg_replace('/\v+/','<br>', $str);
Intentaría reemplazar las nuevas líneas repetidas con nuevas líneas nuevas usando preg_replace () primero, luego usando NL2BR para convertir a HTML
Etiquetas. nl2br(preg_replace('/\n+/', '\n', $the_string))
debería hacer el truco (no probado).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow