Входная строка
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nl aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
содержит 4 различных символа: "a", "\ n", "l" и "".
Я бы ожидал, nl2br()
создаст этот вывод
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />\nl aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Тогда вызов wordwrap делает это:
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br<br />\n/>\nl aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Это плохо сформированный HTML. В браузере плохие теги br не действуют. И новые строки не влияют на макет, поэтому он выглядит как строка «а». Я не могу объяснить, куда уходит твое «я».
В вашем вызове wordwrap
строка замены указана в одинарных кавычках, поэтому '\ n' - это обратный слэш из двух символов и n. Используйте двойные кавычки, чтобы развернуть переход в новую строку: измените '<br />\n'
на "<br />\n"
Вы также можете пропустить вызов nl2br
или wordwrap
, в зависимости от того, что вы хотите.
Кстати, вы пытались установить четвертый аргумент $cut
в true
при вызове wordwrap()
?