2016-02-17 2 views
0

В моей базе данных яЭхо разрыв строки из переменной в текстовое поле (и FPDF)

Linetext1 \r\nLinetext2 

Я тогда fech данные:

while($row = $result->fetch_assoc()) { 
    $mydata_array = $row['myrow']; 
} 

то эхо часть:

for ($i = 0; $i <5; ++$I){ 
    echo $mydata_array[$i]; 
} 

Но это буквально выводится в textarea (и в fpdf) Linetext1 \ r \ nLinetext2. Я действительно пытался строку заменить, как предложено в других вопросах

echo (str_replace('\r\n', '<br />', $mydata_array[$i]); 

, но тогда я буквально

Linetext1 <br />Linetext2 

Спасибо за вашу помощь!

РЕШЕНИЕ

После ответа Сергея, я использовал:

echo (str_replace(array('\r', '\n'), array("", "\n"), $mydata_array[$i]); 

PS Важно использовать MULTICELL и не единственную клетку

+0

Потенциальный дубликат: http://stackoverflow.com/questions/16218997/fpdf-line-break-not-working – mkaatman

+0

@mkaatman Спасибо, как я могу использовать ответ этого сообщения в моем случае? У меня уже есть \ r \ n, но он не работает ... – codeispoetry

+0

Сообщение упоминается с помощью '\ n \ r'. – mkaatman

ответ

2

<br /> тегов бесполезны в текстовом поле, если это не область текстового редактора (и, следовательно, не точно текстовое поле) - для этого нужны \n или \r\n разрывы строк. FPDF также нуждается в \n перерывах. То, что вы, вероятно, следует сделать, это заменить \r и \n литералы фактических разрывов строк:

echo (str_replace(array('\r', '\n'), array("", "\n"), $mydata_array[$i]); 

Edit: В соответствии с вашим тестирования \r должны быть уничтожены полностью, потому что он путает только FPDF без добавления какой-либо реальная стоимость.

+0

Спасибо, Сергей. Из того, что я понимаю из вашего ответа, является то, что, заменив «\ r» на «\ r», я говорю программе заменить строку \ r командой \ r. Я не знал (одиночные или двойные) цитаты могли быть использованы таким образом. Спасибо, что научили меня этому! – codeispoetry

+0

«\ r» не является командой, а фактическим символом ASCII возврата каретки. Это должно быть в двойных кавычках, хотя, потому что иначе (в одинарных кавычках) PHP будет рассматривать его как два отдельных символа, косую черту и небольшую R. Дополнительная информация об этом доступна [здесь] (http://au2.php.net /manual/en/language.types.string.php). –

+0

Еще лучше, спасибо, и у меня также есть дополнительная информация о Heredoc по вашей ссылке !!! – codeispoetry

Смежные вопросы