Witam serdecznie,
Mam różnej długości artykuły. Artykuł przechowuję w zmiennej $text.
Artykuły zawierają HTML (linki, pogrubienia, zdjęcia itp).
Potrzebuję rozbić tekst i przypisać do 4 zmiennych:
- $zmienna1 = pierwsze 400 wyrazów,
- $zmienna2 = kolejne 600 wyrazów,
- $zmienna3 - kolejne 300 wyrazów,
- $zmienna4 - WSZYSTKO co pozostało smile.gif
Potrzebuję całe wyrazy, nie ucięte w połowie tagi html (obrazki, pogrubienia itp).
Wie ktoś może jak to zrobić?
Mam taką funkcję która działa poprawnie (jeśli chodzi o dzielenie tekstu z zachowaniem html):
function trim_text($input, $length, $ellipses = true, $strip_tag = true,$strip_style = true) {
//strip tags, if desired
if ($strip_tag) {
$input = strip_tags($input);
}
//strip tags, if desired
if ($strip_style) {
$input = preg_replace('/(<[^>]+) style=".*?"/i', '$1',$input);
}
if($length=='full')
{
$trimmed_text=$input;
}
else
{
//no need to trim, already shorter than trim length
if (strlen($input) <= $length) {
return $input;
}
//find last space within length
$last_space = strrpos(substr($input, 0, $length), ' ');
$trimmed_text = substr($input, 0, $last_space);
//add ellipses (...)
if ($ellipses) {
$trimmed_text .= '...';
}
}
return $trimmed_text;
}
tylko nie wiem jak przypisać przedziały:
- $zmienna1 = pierwsze 400 wyrazów,
- $zmienna2 = kolejne 600 wyrazów,
- $zmienna3 - kolejne 300 wyrazów,
- $zmienna4 - WSZYSTKO co pozostało
Wie ktoś może jak to zrobić?