Разрыв строки приводит к разрыву кода - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть текст, хранящийся в базе данных (после того, как он был введен пользователем в textarea).

Текст содержит теги разрыва строки.

Теперь я импортирую его на свою страницу phpи сделайте следующее:

$str += "onclick='openXXX(\"" . nl2br($row->data)  .  "\");'>"

Теперь в представлении это нарушает мой код, потому что есть <BR> и \r\n символов (я думаю), и это выглядит как:

onclick='openXXX("dsadas<br />
dsada");'

это вызывает проблемы в моем коде, потому что две строки вместо одной.Как я могу решить это?

Ответы [ 4 ]

3 голосов
/ 22 ноября 2011

использование

str_replace('\r\n', '', nl2br($row->data))
2 голосов
/ 22 ноября 2011

nl2br добавляет <br/>, но не удаляет \ r или \ n.

Попробуйте:

$str += "onclick='openXXX(\"" . str_replace(array("\r","\n"),'',nl2br($row->data))  .  "\");'>"
2 голосов
/ 22 ноября 2011

Попробуйте str_replace('\n', '', nl2br($row->data)) вместо nl2br($row->data).

2 голосов
/ 22 ноября 2011

Javascript не принимает в новой строке, вы можете рассмотреть это: -

str_replace(PHP_EOL, '', nl2br($row->data));

рядом с PHP_EOL, вы можете заменить его на массив \r\n, \n\r, \n and \r

...