Nasıl tek bir satırda olmak için bir 'textarea' Bu dize yapabilir?

4 Cevap php

Ben denedim ve şimdi denedim.

I have a mysql field (TEXT) which contains the value of a textarea. That is, if the text is written EXACTLY like this:

   Hello. Hello.
   Hello.
   Hel
   lo.

Sonra takarken Im wordwrap ve nl2br fonksiyonlarını kullanarak çünkü mysql alanında nasıl görüneceğini şu.

'Meta açıklaması içeriği' 'TEXT' içerik ile güncel, ANCAK, herhangi bir kırılma ve yeni hatlar olmadan uzun bir dize nerede Şimdi, ben, bir dinamik sayfa oluşturma.

O dedi, ben metin bir dize olmak için yapmak gerekir.

Ben bu kullanmışlardır:

  str_replace ("<br/>", "", $string);

Bu, evet, bir dize olarak metni görüntüler, ancak sayfanın kaynak kodunu inceleyen zaman, tatili bu gibi olduğunu görebilirsiniz:

<meta name="description" content="
   Hello. Hello.
   Hello.
   Hel
   lo." />

Ben de başarı olmadan, '\ n' ve diğerleri ile
yerine denedim ...

Nasıl bu rahatsız edici sorunu çözebilir?

Eğer daha fazla girdi ihtiyacınız varsa bana bildirin ve ben bu Q güncelleyeceğiz

4 Cevap

Tek bir alan s'nin bütün grupları değiştirin:

$output = preg_replace('!\s+!', ' ', $input);

Yerine "" ile \ n "" değiştirmeyi deneyin.

kullanışlı fonksiyon:

function removeEmptyLines($s) {
return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $s);
}

Bu str_replace böyle bir şey ("\ n \ r", "", $ string) deneyebilirsiniz; Bazen dönüş karakteri \ r orada bir yerde saklandığını olduğunu bulduk.