El tema es así, tengo un php llamado func_salida.php donde tengo todo lo que se muestra en el sitio. este archivo tiene un require a func_bbcode.php... Bueno eso para empezar
En el archivo func_salida dentro de un DIV especifico que tengo para mostrar noticias, dentro de este divo hago el llamado a la función
Código PHP:
<?php
bbcodenoticias();
?>
Estoy trabajando con una función para convertir el BBCode en HTML y acá es donde reside el gran problema...
si coloco todo el contenido o sea el array de bb code la función para reemplazar los bb code por el html y el echo para escribir el resultado dentro del archivo "func_salida.php" FUNCIONA PERFECTO!!!
Pero como no quiero tener tanto en ese archivo sino más bien la estructura, quise hacer la función dentro del archivo func_bbcode.php... Esta funciona perfecto hasta que llega a la función para convertir el BBCode en HTML donde me da el error Warning: array_keys() [function.array-keys]: /func_bbcode.php on line 43
Aquí el contenido del archivo func_bbcode.php
Código PHP:
<?php
function bbcodenoticias(){
$conexion = conecta_db();
$sql = mysqli_query($conexion, "SELECT topic_id, post_subject, post_text, post_time, bbcode_uid FROM phpbb_posts WHERE forum_id='3' ORDER BY post_id DESC LIMIT 1");
while($row = mysqli_fetch_array($sql)){
$t = $row["topic_id"];
$titulo = $row["post_subject"];
$titulo = strtoupper($titulo);
$post = $row["post_text"];
$fecha = $row["post_time"];
$fecha = date('[d/m/y]',$fecha);
$bbcode_uid = $row["bbcode_uid"];
// Compruebo que se haya tomado bien el valor de post_text y por lo tanto de la base de datos... echo solo de prueba
echo $post;
$bb_code = array(
//Letra negrita
'[b:'.$bbcode_uid.']' => '<strong>',
'[/b]' => '</strong>',
//Letra cursiva
'[i'.$bbcode_uid.']' => '<em>',
'[/i]' => '</em>',
//Letra subrayada
'[u'.$bbcode_uid.']' => '<u>',
'[/u]' => '</u>',
//Enter
'/n' => '<br>',
//Imagenes
'[img'.$bbcode_uid.']' => '<img src="',
'[/img'.$bbcode_uid.']' => '" />' ,
/*Links
'[url]' => '<a href="',
'[/url]' => '"></a>'*/
);
function reemplazar($codigo) {
$search = array_keys( $GLOBALS['bb_code'] );
$codigo = str_replace( $search, $GLOBALS['bb_code'], $codigo );
return $codigo;
}
// Reemplazamos el BBCode por código HTML y lo mostramos en la página
echo '<p>'.reemplazar( $post ).'</p>';
}
mysqli_free_result($sql);
mysqli_close($conexion);
}
?>
Código PHP:
$search = array_keys( $GLOBALS['bb_code'] );
CSS y html por suerte siguen un poquito grabados en mi mente pero PHP se fue no se por donde quedo jajaja...
y si pueden por favor expliquenme porque al estar en el archivo func_salida.php anda bien todo el script pero cuando lo coloco en el otro archivo no.
Espero su ayuda desde ya muchas gracias...