Witam serdecznie
Mam problem z funkcją do łamania tekstu.
Przykładowo mamy tekst:
<p>Lorem ipsum dolor sit
<div class="image-container23a41 image-left23a41 image-width-70 reklama_srodtekstowa_sz_1">
<div class="box10a"> <a class='link_red_font' href="w" class="luk_new_verb_1a" target="_blank"><img src="http://192.168.1.10/ipress/uploads/splash/42141afrtvacekmnprvxajpwz23765475756.01" class="max_img_siz_ob_4 img-responsive reklama_srodtekstowa_sz_1a"/></a></div>
</div>
amet, consectetur adipiscing elit. Nam porta dui quis nisl auctor ultricies. Morbi bibendum nulla magna, a sagittis est placerat ut. In dui eros, vestibulum nec lacinia sit amet, tempor et massa. Proin augue erat, maximus vitae eros non, maximus mattis ipsum.
<div class="image-container23a41 image-left23a41 image-width-30 reklama_srodtekstowa_sz_1">
<div class="box10a"> <a class='link_red_font' href="www.wp.pl" class="luk_new_verb_1a" target="_blank"><img src="http://192.168.1.10/ipress/uploads/splash/47572jmvwybdeimnoptxdhnsz22542754184.jpg" class="max_img_siz_ob_4 img-responsive reklama_srodtekstowa_sz_1a"/></a></div>
</div>
Fusce varius congue erat, vitae fringilla metus. Phasellus eu mi sit amet libero posuere eleifend. Suspendisse vestibulum bibendum dolor id auctor. Mauris Fusce varius congue erat, vitae fringilla metus.
<div class="image-container23a41 image-right23a41 image-width-60 reklama_srodtekstowa_sz_1">
<div class="box10a"> <a class='link_red_font' href="" class="luk_new_verb_1a" target="_blank"><img src="http://192.168.1.10/ipress/uploads/splash/41703cgimxdhjkmnqrvxcoptz26417064425.01" class="max_img_siz_ob_4 img-responsive reklama_srodtekstowa_sz_1a"/></a></div>
</div>
Phasellus eu mi sit amet libero posuere eleifend. Suspendisse vestibulum bibendum dolor id auctor. Mauris efficitur rhoncus metus accumsan bibendum. Vivamus finibus ultricies orci vel semper. Integer feugiat rutrum placerat. In ornare condimentum urna lacinia finibus.
<div class="image-container23a41 image-right23a41 image-width-40 reklama_srodtekstowa_sz_1">
<div class="box10a"> <a class='link_red_font' href="www.wp.pl" class="luk_new_verb_1a" target="_blank"><img src="http://192.168.1.10/ipress/uploads/splash/51338cdrswabhkmnpsuwcotxz5690287558.jpg" class="max_img_siz_ob_4 img-responsive reklama_srodtekstowa_sz_1a"/></a></div>
Potrzebuję funkcje która złamie mi tekst np. Po 500 znakach (z uwzględnieniem tagów html).
Dotychczas używałem czegoś takiego:
function trim_text($input, $length, $ellipses = true, $strip_tag = true,$strip_style = true) {
//strip tags, if desired
$trimmed_text2 = null;
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);
// Zwracamy kolejne XXX znaków
//$trimmed_text2 = substr($input, $last_space, $length);
$trimmed_text2 = substr($input, $last_space);
//add ellipses (...)
if ($ellipses) {
//$trimmed_text .= '...';
}
}
return $trimmed_text."||XXX||".$trimmed_text2;
}
Jednak nie do końca mi to działa sad.gif
Ucina tekst np tak:
<p>Lorem ipsum dolor sit <div class="image-container23a41 image-left23a41 image-width-70 reklama_srodtekstowa_sz_1"> <div class="box10a"> <a class='link_red_font'
I jako kontynuację widzi:
href="w" class="luk_new_verb_1a" target="_blank"><img src="http://192.168.1.10/ipress/uploads/splash/42141afrtvacekmnprvxajpwz23765475756.01" class="max_img_siz_ob_4 img-responsive reklama_srodtekstowa_sz_1a"/></a></div> </div> amet, consectetur adipiscing elit. Nam porta dui quis nisl auctor ultricies……
Chciałbym żeby „łamania” następowały z uwzględnieniem HTML.
Wie ktoś może jak to poprawić?