kalu111
5.01.2007, 20:25:23
Chcialem napisac skrypt, dokladnie klase, ktora dzielilaby mi podany w parametrze tekst na podstrony, jesli liczba slow bedzie wieksza od przyjetej na jednej podstronie.
Wszystko ma sie odbywac dynamicznie, czyli przekazujemy tekst w calosci (original) i dzilimy go na podstrony i wyswietlamy na stronie odpowiednia czesc.
Problem w tym, ze za bardzo nie wiem jak poradzic sobie z tagami, ktore beda zawarte w tekscie.
Przy zwyklym obcinaniu tekst bez znacznikow nie bylo by problemu, ale gdy utniemy tekst zaraz po np. <p>sss
- to tag zamykajacy </p> pojawi sie dopiero na nastepnej podstronie.
I drugi problem to taki, ze istnieje mozliwosc grupowania tagow np. <filedset><form> ... i tu ucinamy tekst.
Teraz trza wiedziec, ile tagow zamykajacych powinnismy szukac.
Hmmm?
matlas
5.01.2007, 20:35:11
a ten tekst ma byc html czy xhtml ?
kalu111
5.01.2007, 20:41:19
zamierzam i to i to zrobic...skyrpt powinien byc elastyczny
matlas
6.01.2007, 01:58:36
jak xhtml to mozesz parsowac czy jest dokumentem XML jak nie przesuwac o iles tam znakow ciety teksty az bedzie
http://plhttp://pl2.php.net/xml ja tak do newsow skracania sobie zrobilem
kalu111
6.01.2007, 11:40:24
Hmm, widze, ze chyba ciezka sprawa bedzie z tym, no ale cos pokombinuje i dam znac...
matlas
6.01.2007, 12:26:00
czemu ciezka?

np tak jakos:
parsujesz dokument:
<?php
function spr_czy_xml($tekst)
{
$parser_xml = xml_parser_create() ;
$dane = '<div> '. $tekst . '</div>';
$poprawny_xml = xml_parse ($parser_xml , utf8_encode($dane));
xml_parser_free($parser_xml);
return $poprawny_xml;
}
?>
i tak do tego zwiekszasz o np 1 znak jesli nie jest xml (ma nie zamkniete znaczniki np)
<?php
$znaki_news=200;
do
{
$news_kawalek = substr($tresc,0
, $znaki_news); $znaki_news +=1;
}while(!spr_czy_xml($news_kawalek));
?>