Php metin işlevini değiştirme

2 Cevap php

Ben gibi bazı çözümlenen metin temizlemek istiyorum

\ N r \ n \ r \ n \ r \ \ n dedi benim sevgili \ r \ n \ r \ nl \ r \ n \ r ni \ uzakta Sky \ görmek haddeleme yeşil Ormanları görmek Gözlerine bakmak r \ n \ r \ nThey yağmur \ r \ n \ r \ n \ r dönüşmesi \ nl yüksek yükselen kartallar görmek ... more \ n

Yani "\ n" kurtulmak istiyorum, "\ r \ n", "\ r n \ r \ n \", "\ r \ n \ r \ n \ r \ n", "\ r \ n \ r \ n \ r \ n \ r \ n "ve" \ r ". Bu benim çözümlü metninde tüm kombinasyonları var.

Php bunu yapmanın bir yolu var mı?

2 Cevap

Ne hakkında

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

Tüm yeni çizgi karakterleri kaldırmak olacaktır.

Yeni çizgiler olarak bunları istiyorum, ben değiştirmek istiyorum HTML için <br /> ile değiştirin (ya da daha iyisi, PHP'nin nl2br() kullanın) (veya {[normal metinde bunları standardize 2)]}, örneğin.

Sadece yerine birden fazla 1 satırsonunu isterseniz ben bu öneririm:

$clean = preg_replace(array("/\r+/","/(\n){2,}/"),array("","\n"),$text);

Aksi newlines veya nl2br iş yapacak dışarı şerit str_replace. Ayrıca BR etiketiyle 1 veya daha fazla satırsonlarını yerine regex adapte olabilir:

$clean = preg_replace(array("/\r+/","/\n+/"),array("","<br />"),$text);