PHP / JavaScript ayrıştırma Satır Sonları

2 Cevap php

EDIT: Tamam, senin yardım çocuklar için teşekkürler. Zerkms 'önerisi kullanarak, ben yerine satırbaşları arasında takılı <br> etiketleri almak başardı, bu yüzden sayfasında düzgün görüntülenir ve javascript sonu yok. Sorun kullanıcı bu metin üzerinde tıkladığında, bir textarea olur ve bu nedenle satır içi düzenlenebilir olduğunu şimdi. Ancak, metin dizesi yerine şimdi sadece birden çok hatları üzerinden düzenlenebilir metin olan daha içinde görüntülenen etiketleri vardır.

Herhangi bir öneriniz?

ORİJİNAL SORU: Kullanıcıların bir projede not girebilirsiniz benim PHP uygulamasında bir metin alanı var. Bazen bu PHP ile sayfa üzerinde görüntülenir ve bazen javascript ile görüntülenir. (Metin alanında notları girerken kullanıcı presler girmek yani) notu birden çok hatları üzerinden ise sorun JS başarısız olmasına neden olur, vardır. Bu PHP ile yapılıyor zaman iyi.

Söz konusu kod satırı:

var editnotes='<textarea class="desc_text" style="width:20em;" id="notes_editor"><?php print $notes; ?></textarea>';

: Not satırdan fazla ise Yani, PHP gibi çağrı oluşturur

var editnotes='<textarea class="desc_text" style="width:20em;" id="notes_editor">This is
a test note
over multiple lines
</textarea>';

Ve bu tabii ki js sorunlara neden olur. Yani benim soru bunu önlemek için ne yapabilirim, nedir? Hatta tarayıcıya girmeden önce kod PHP ile inşa ediliyor gibi, ben iyi yaklaşım çıkış bu gibi daha fazla bir şey olduğunu böylece PHP ayrıştırmak olabileceğini düşünüyorum:

var editnotes='<textarea class="desc_text" style="width:20em;" id="notes_editor">This is<br/>a test note<br/>over multiple lines<br/></textarea>';

Bu çalışır mı? Ben bunu nasıl yaparım?

Teşekkürler

2 Cevap

olarak nl2br() ikinci önerinin tüm satır sonları \ append yardım etmedi. şekilde bir tür:

preg_replace('!([\r\n]+)!', '\\\$1', $text);

temiz olması için, örnek:

var baz = 'foo
bar';

Şimdi olmak:

var baz = 'foo\
bar';

Çıkışına javascript için bir değer json_encode () kullanın.

var editnotes = <?php echo json_encode($str); ?>;