Mam pewien problem.
Otóż w kilku miejscach na swojej stronie wykorzystuję dane z forum. Jeśli na stronie jest tylko 1 post do parsowania, wszystko jest OK. Problem pojawia się, gdy chce ich parsować więcej, niż 1. Dla przykładu, funkcja czytania newsów:
Kod php:
function parse_bb($tresc, $par1, $par2, $par3, $par4)
{
global $bbcode_parser;
$wynik=$bbcode_parser->do_parse($tresc, $par1, $par2, $par3, $par4,true,false);
$wynik=str_replace ('<img src="http://vbhelp.pl/images/smilies/','<img src="http://forum.tibiaspy.com/images/smilies/',$wynik);
return $wynik;
}
function forum_read_news($dzial,$ilosc,$szablon="news",$separator='', $sort_order='threadid DESC')
{
global $config, $forum_path,$news,$db2,$tpl;
$query="SELECT threadid,title,postusername FROM ".$config['forum_tableprefix']."thread WHERE forumid=$dzial ORDER BY $sort_order LIMIT $ilosc";
$lista_q=$db2->query($query);
$wynik='';
while ($temat=mysql_fetch_array($lista_q))
{
$psql = $db2->query("SELECT pagetext , dateline FROM ".$config['forum_tableprefix']."post WHERE threadid=".$temat['threadid']." ORDER BY postid ASC LIMIT 1");
$post=mysql_fetch_array($psql);
$news['pagetext']=parse_bb($post['pagetext'], true, true, true, true);
$news['title'] = $temat['title'];
$news['threadid'] = $temat['threadid'];
$news['postusername'] =$temat['postusername'];
$news['date']=date ("d.m.y H:i" ,$post['dateline']);
$wynik1=$tpl->loadtpl($szablon);
if ($wynik!=''){$wynik.=$separator;};
$wynik.=$wynik1;
}
return $wynik;
}
Powyższa funkcja, tak, jak mówię, parsuje tylko pierwszego newsa. Wszystkie pozostałe są wyświetlane bez parsowania, czyli w tekście zostają BBkody "gołe", tak, jak przy edycji w najprostszym edytorze.
Ktoś wie, co robię źle?
[Edit] OK, jak to czesto bywa, gdy człowiek długo szuka rozwiązania, to go nie znajduje. Ale gdy już napisze gdzieś o pomoc, to po chwili rozwiązanie sie samo znajduje :P
Użyłem $bbcode_parser->parse zamiast $bbcode_parser->do_parse. Chociaż jestem w 100% przekonany, że kiedyś to działało mi poprawnie. Ale może po prostu w 3.8 nie działa?