Veritabanı leke nasıl php ile bir satır halinde bu dönüştürmek, multline html kodunu tutar

4 Cevap php

Tamam, böylece temelde bazı bilgileri girmek için benim kullanıcı için bir yol olarak FCKeditor kullanıyorum. Bu DB saklanır zaman, bu nedenle gibi saklanır

<p> </p>
<div style=\"margin: 0in 0in 10pt\"><b><span style=\"color: #666666\">Test Title</span></b><span style=\"color: #666666\"> <br />
Address goes here <br />
This is some lengthy text about the location. This is some lengthy text about the location. This is some lengthy text about the location. This is some lengthy text about the location. This is some lengthy text about the location. This is some lengthy text about the location.</span></div>

Neyse, ne zaman çıktı onu alır ve bir google harita üzerinde bir iğne ucu oluşturur ve bu metin açılan pencerenin içine giren bir işlev içine gönderilen bu metin. Ben çalıştırıyorum sorun, php javascript fonksiyonu çağırmak çıkış yaptığında bu gibi görünüyor olduğunu

showAddress(" <p> </p>
<div style=\"margin: 0in 0in 10pt\"><b><span style=\"color: #666666\">Test Title</span></b><span style=\"color: #666666\"> <br />
Address goes here <br />
This is some lengthy text about the location. This is some lengthy text about the location. This is some lengthy text about the location. This is some lengthy text about the location. This is some lengthy text about the location. This is some lengthy text about the location.</span></div>");

Temelde satır sonları ve sonra boşluk girmek vurmak zaman bir 'literal sonlandırılmamıs string' ile çıkmak için javascript neden oluyor.

Thanks,
Levi

4 Cevap

str_replace() yeni çizgileri kaldırmak için kullanın:

str_replace(array("\n", "\r"), '', $someString);

Eğer metin saklamak beri Ayrıca, size TEXT yerele farkında olduğu gibi BLOB karşı TEXT veri türünü kullanmak için daha iyi olurdu.

$value = str_replace(array("\n", "\r"), "", $string);

Andrew Moore \ r anahtarı düşündüm çünkü güncellendi. Ancak, yerine argüman bir dizi kullanmak gerekmez.

Bu hiçlik tüm satırsonlarını yerini alacak.

Ben bir boşluk değil ve boş dize ayrılmak istediğini düşünüyorum, bu yüzden metin sadece birlikte çalışmaz.

Ve perl mirasın olmak, ben kullanmak istiyorum

$ CleanedString = preg_replace ("/ [\ n \ r] + /", "", $ stringWithReturns);

Bu, birden döner yakalamak ve tek bir boşluk ile yerini alacak.

Sen json_encode HTML doğru javascript gider emin olmak için kullanıyor olmalıdır:

<script>
showAddress(<?php echo json_encode($htmlFromDB); ?>);
</script>

Newlines artık bir sorun olmamalı.