Bir kullanıcı türleri gerçekten çok uzun bir dize ise bir 2 hat üzerine hareket etmez ve sitemde bir sayfa kıracak. Bunu nasıl dize alıyoruz ve bir URL değilse tamamen kaldırabilirsiniz?
Neden kullanıcının yazdıklarını kaldırmak istersiniz? Bunun yerine, yeni bir satıra kaydırmak - wordwrap denen yapmak için PHP bir işlevi vardır
Eğer gerçekten sözcüğü kaldırmak istiyor musunuz, yoksa sadece sayfa düzeni çok geniş yapmasını engellemek istiyorsun? Ikincisi daha istediğiniz ne ise, taşma yönetmek için CSS kullanarak düşünün.
Örneğin:
div { overflow:hidden; }
div sınırını herhangi bir içerik gizler.
Here's more info on CSS overflow: http://www.w3schools.com/css/pr_pos_overflow.asp
// remove words over 30 chars long
$str = preg_replace('/\S{30,}/', '', $str);
edit: Tim P önerisine göre güncellenmiş, \ S (aynı [^\s]) herhangi bir boşluk olmayan karakter maçlar
Ayrıca burada wordwrap kullanmak ehdv önerisini içeren daha iyi bir yoldur:
//This will break up the long words with spaces so they don't stretch layouts.
$str = preg_replace('/(\S{30,})/e', "wordwrap('$1', 30, ' ', true)", $str);
Ne gerçekten uzun bir URL ise? Herhangi bir oranda neden sadece geçerli bir URL'ye metin maç, ve sadece bu kabul etmiyor? some php-regex info on URLs kontrol ve görmek nasıl çalışır. Regular Expressions Cookbook, hem de URL eşleştirme iyi bir bölüm vardır.