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?

¿Fue útil?

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
scroll top