JonnyLitt cevabı @ dayanarak, burada sorun almak benim:
<?php
function insertSoftBreak($string, $interval=20, $breakChr='­') {
$splitString = explode(' ', $string);
foreach($splitString as $key => $val) {
if(strlen($val)>$interval) {
$splitString[$key] = wordwrap($val, $interval, $breakChr, true);
}
}
return implode(' ', $splitString);
}
$string = 'Hello, My name is fwwfdfhhhfhhhfrhgrhffwfweronwefbwuecfbryhfbqpibcqpbfefpibcyhpihbasdcbiasdfayifvbpbfawfgawg, because that is my name.';
echo insertSoftBreak($string);
?>
Uzay-ayrılmış değerleri dize kesiliyor, her bireyin 'Kelime' uzunluğunu kontrol (kelime nokta, virgül, soru işareti veya benzeri semboller dahil). Her kelime için karakterin inci 'her $interval uzunluğu daha uzun $interval karakterden daha olup olmadığını kontrol edin, ve eğer öyleyse, bir ­ (yumuşak tire) takın.
Nispeten tarayıcılar arasında iyi desteklenen gibi görünüyor çünkü ben yumuşak tire seçtim, ve kelime aslında bu konumda sarar sürece genellikle görünmüyor.
Ben (‌ FF 3.6, en az çalışmak için görünmüyor) yerine kullanılabilecek başka bir kullanılabilir (ve de desteklenen) HTML varlıkların farkında değilim, eğer öyleyse {[(için crossbrowser destek 1)]} eksik çıkıyor, saf CSS veya Javascript tabanlı çözüm iyi olurdu.