metin alan sarma ile biraz daha fazla yardım

3 Cevap php
$ad_text=wordwrap(nl2br($_POST['annonsera_text']), 45, '<br />\n');

Herhangi bir fikir neden üzerinde uzun bir dize görüntüleniyor?

Form method='POST' ve enctype='multipart/form-data' ve metin alanı wrap='hard'

Ben ... görüntülenen metin alan kullanıcı o metni girdiğinde tam olarak aynı görünmesini sayesinde istediğiniz ...

UPDATE:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nl
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

ÇIKIŞLAR bu:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Php wordwrap işlevini kullanma ...

Ben de html "sert" = şal ayarlarsanız farketmez.

3 Cevap

Bu durumlarda, gerekli genişliğinden daha büyük ise, sözcükleri kırmak için talimat wordwrap() fonksiyonu, dördüncü parametre belirtmeniz gerekir:

$ad_text=wordwrap(nl2br($_POST['annonsera_text']), 45, '<br />\n', true);

Bunun doğru cevabı ayıklama yöntemi bulunabilir olacak. Bunun yerine bir satır içine bu koyarak, birden fazla satır içine bu ayırmak ve çıkışını kontrol edin.

echo $ad_text = $_POST['annonsera_text'];
echo $ad_text = nl2br($ad_text);
echo $ad_text = wordwrap($ad_text, 45, '<br />\n');

Giriş dizesi

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\nl aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

"a", "\ n", "l" ve ":" 4 farklı karakterler içeriyor.

I nl2br() bu çıktıyı yaratmak için beklediğiniz

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br />\nl aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Sonra wordwrap çağrı bu yapar:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br<br />\n/>\nl aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Bu kötü şekillendirilmiş html. Tarayıcıda, kötü br etiketleri hiçbir etkisi yoktur. Ve newlines düzenini etkilemez, bu yüzden 'a' bir dize gibi görünüyor. Senin 'l' gider nereye anlatamam.

Lütfen wordwrap çağrı olarak, yedek dize tek tırnak içinde, yani '\ n' iki karakter ters eğik çizgi ve n. Gerçek bir yeni satır içine kaçış genişletmek için çift tırnak kullanın: Değişim '<br />\n' için "<br />\n"

Ayrıca istediğiniz ne bağlı nl2br çağrı ya da wordwrap aramayı bırakmak isteyebilirsiniz.

Bu arada, siz, $cut, wordwrap() çağırır içinde true için dördüncü argümanı ayarı denedim?