Autor Zpráva
Medvídek
Profil
Řeším asi celkm častou věc, to jest zobrazení části novinky a teprve po kliknutí na více se zobrazí celá novinka.
Bohužel jsem nedospěl k rozumnému řešení, které by bralo v úvahu, že v novinkách se mohou vyskytovat HTML značky a tudíž je to neukončuje.
Používám tento skript, který byl k nalezení na php.net.

function substrws( $text, $len=500 ) {

    if( (strlen($text) > $len) ) {

        $whitespaceposition = strpos($text," ",$len)-1;

        if( $whitespaceposition > 0 )
            $text = substr($text, 0, ($whitespaceposition+1));

        // close unclosed html tags
        if( preg_match_all("|<([a-zA-Z]+)>|",$text,$aBuffer) ) {

            if( !empty($aBuffer[1]) ) {

                preg_match_all("|</([a-zA-Z]+)>|",$text,$aBuffer2);

                if( count($aBuffer[1]) != count($aBuffer2[1]) ) {

                    foreach( $aBuffer[1] as $index => $tag ) {

                        if( empty($aBuffer2[1][$index]) || $aBuffer2[1][$index] != $tag)
                            $text .= '</'.$tag.'>';
                    }
                }
            }
        }
    }

    return $text;
}

Bohužel se mi stalo, že to ořízlo novinku takto:

<a href="http://www.zooland-records.de/"
a tím samozřjmě rozhodilo formátování.

Pro vkládání novinek musim používat ckeditor (požadavek) a ten částečný výpis tam musí být.
Proto se chci zeptat, jak toto řešíte vy?
Str4wberry
Profil
Viz: Zkrácení textu s XHTML značkami
Medvídek
Profil
Str4wberry:
Děkuju mockrát, jsi můj zachránce :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: