Questa linea in /includes/message_parser.php scrive nei posts gli smiles:
Codice: Seleziona tutto
$replace[] = '<!-- s' . $row['code'] . ' --><img src="{SMILIES_PATH}/' . $row['smiley_url'] . '" alt="' . $row['code'] . '" title="' . $row['emotion'] . '" /><!-- s' . $row['code'] . ' -->';
L'errore pare (ponendosi sul title *vedi dopo) si genera in src="
Il problema potrebbe risiedere dove viene richiamata la funzione nel template title="{topicrow.PST_TEXT}"
E' ovvio che le virgolette generano il problema.
Questo è il primo problema che ho!
Il secondo problema è invece eliminare dai bbcode tutto all'infuori del tag (img, code, etc.); quindi cancellando tutte le parti che iniziano con = e con :
Eventuali risoluzioni ottimali:
Il primo problema posso risolverlo cancellando da <!-- a <!-- fino a --> in pratica tutto il codice della faccina che non mi interessa avere nel template title="{topicrow.PST_TEXT}"
Il secondo problema si può risolvere generando una variabile array che legge da [ ([/) a ] e una variabile array che legge il tag (quindi da [ ([/) a 3), quindi replicare nella variabile $rows.
...
Cominciamo dal primo problema! Abbozzo un codice.. fantasioso e privo di conoscenze radicate:
Codice: Seleziona tutto
$sql = "SELECT post_text FROM ".POSTS_TABLE." WHERE topic_id = $topic_id ORDER BY post_time ASC LIMIT 0,1";
$result = $db->sql_query($sql);
//DA QUI CERCO DI ELIMINARE LE PARTI DI TESTO
while ($roww = $db->sql_fetchrow($result)) {
while ((strpos($roww['post_text'], "<")!== false) && (strpos($roww['post_text'], ">")!== false)) {
$rowws[] = $roww['post_text'];
$sbposx= strpos($roww['post_text'], "<");
$sbposxx= strpos($roww['post_text'], ">");
$nmarrow= count($rowws)-1;
substr($rowws[$nmarrow], $sbposx, $sbposxx - $sbposx);
str_replace($rowws[$nmarrow], "", $roww['post_text']);
}
}
//QUI FINISCO
$template->assign_block_vars('topicrow', array(
'POST_TEXT' => $roww['post_text']
));
Ma naturalmente il codice non sortisce alcun effetto.. se non questo errore in str_replace:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 830 bytes) in /web/htdocs/
www.digreo.it/home/board/viewforum.php on line 664