Pergunta

estou usando nl2br() converter \n personagens para o <br /> tag, mas eu não quero mais de um <br /> etiqueta de cada vez. Por exemplo, Hello \n\n\n\n Everybody Deve se tornar Hello <br /> Everybody.

Como posso fazer isso?

Foi útil?

Solução

A abordagem mais direta pode ser substituir primeiro as múltiplas linhas de linhas por uma usando uma expressão regular simples:

nl2br(preg_replace("/\n+/", "\n", $input));

Outras dicas

Se você possui Php 5.2.4+, pode usar preg_replace e o tipo de caractere vertical em branco \v

$str = preg_replace('/\v+/','<br>', $str);

Eu tentaria substituir as novas linhas repetidas por linhas únicas usando preg_replace () primeiro e depois usando o nl2br para converter em html
Tag. nl2br(preg_replace('/\n+/', '\n', $the_string)) deve fazer o truque (não testado).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top