Porady PHP - Dzielenie długiego tekstu
<? function podziel($string, $width = 75, $break = "") { $pattern = sprintf('/([^ ]{%d,})/', $width); $output = ''; $words = preg_split($pattern, $string, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
foreach ($words as $word) {
if (false !== strpos($word, ' ')) { $output .= $word;
} else { $wrapped = explode($break, wordwrap($output, $width, $break)); $count = $width - (strlen(end($wrapped)) % $width); $output .= substr($word, 0, $count) . $break; $output .= wordwrap(substr($word, $count), $width, $break, true);
}
}
return wordwrap($output, $width, $break);
}
$string = "długitekstdługitekstbardzodługitekstbardzodługitekstbardzodługitekstbardzodługitekst";
/*
tu wywołujemy funkcje i wyświetlamy
*/
echo podziel($string, 10) . " \n";
echo"<hr>";
/*
a tutaj ten sam tekst przy użyciu standardowej funkcji php wordwrap()
*/
$newtext = wordwrap($string, 10, " \n");
echo $newtext;
/*
efekt jest odpowiedzią na pytanie co lepsze :)
*/ ?>
foreach ($words as $word) {
if (false !== strpos($word, ' ')) { $output .= $word;
} else { $wrapped = explode($break, wordwrap($output, $width, $break)); $count = $width - (strlen(end($wrapped)) % $width); $output .= substr($word, 0, $count) . $break; $output .= wordwrap(substr($word, $count), $width, $break, true);
}
}
return wordwrap($output, $width, $break);
}
$string = "długitekstdługitekstbardzodługitekstbardzodługitekstbardzodługitekstbardzodługitekst";
/*
tu wywołujemy funkcje i wyświetlamy
*/
echo podziel($string, 10) . " \n";
echo"<hr>";
/*
a tutaj ten sam tekst przy użyciu standardowej funkcji php wordwrap()
*/
$newtext = wordwrap($string, 10, " \n");
echo $newtext;
/*
efekt jest odpowiedzią na pytanie co lepsze :)
*/ ?>
Komentarze
Prześlij komentarz