JSON w / ayrıştırmak MySQL METİN alanında yeni satır Değiştir

2 Cevap php

"Satırsonunu yerine" burada sorulan bir soru gibi görünüyor ve zaten yüzlerce kez orada gibi. Ama, ancak ben henüz kendim için herhangi bir çalışma çözüm bulamadı.

Ben DB veri kaydetmek için kullanabileceğiniz bir textarea var. Sonra METİN alanda olduğu backend DB veri almak ve JSON kullanarak frontend onu geçmek istiyorum AJAX kullanarak. DB yeni hatlar geçerli JSON sözdizimi değildir Fakat JSON pasing ben yerine \ n kullanmanız gerekir sanırım, bir hata verir ...

But how do i replace newlinew from DB with \n?

Bu denedim

$t = str_replace('<br />', '\n', nl2br($t));

ve bu

$t = preg_replace("/\r\n|\n\r|\r|\n/", "\n", $t);

ve CHAR (13) ve DAMGA (10) kullanılarak, ve hala ben bir hata alıyorum

textarea yeni hat, sanırım eşdeğerdir

$t = 'text with a 
newline';

aynı hatayı veriyor. Not defteri ve ben açıkça görüyoruz crlf

2 Cevap

Sen all sadece satır beslemeleri, JSON özel bir anlamı var karakterleri kaçmak gerekir. Ve ayrıca UTF-8 dönüştürmek gerekiyor.

json_encode() sizin için her şeyi yapabilir, tekerleği yeniden icat etmeye gerek yok.

Prfff ...> _ < aptal beni

Ben \ n ile değiştirmeden önce başka bir çizgi kaybettim

$t = preg_replace("/\r\n|\n\r|\r|\n/", "\\n", $t);