Jump to content


Photo

Pegar Texto Do Phpbb


  • Faça o login para participar
8 replies to this topic

#1 tekoBR

tekoBR

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 27/03/2007, 17:13

Estou pegando o título e a mensagem de um fórum em phpBB. Já consegui pegá-los mas estou tendo um pequeno problema. Quando mando mostrar a mensagem ela aparece inteira, sem as quebras de linhas, imagens, negritos etc.

Como fazer para mostrar a mensagem como ela aparece no fórum?

Vejam aqui o link do que já fiz: http://www.gnvclube..../testetopic.php

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 27/03/2007, 18:15

Neste caso é porque está faltando a folha de estilos que com certeza está sendo usada na origem.

Flws...
(ok2) Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 27/03/2007, 18:32

Quanto as quebras de linha, falta um nl2br() na variável que recebe o conteúdo do BD. ;)

[]’s :DAté mais

#4 tekoBR

tekoBR

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 27/03/2007, 20:59

Neste caso é porque está faltando a folha de estilos que com certeza está sendo usada na origem.

Flws...
(ok2)


Paulo, anexei a folha de estilos do fórum (template subsilver) e continua. Olha o link: http://www.gnvclube....irst_post_id=75 e veja que nos códigos do negrito (bem no final do último parágrafo) fica o código [b e [/b com uns códigos malucos do lado.

Como resolvo isso?

Quanto as quebras de linha, falta um nl2br() na variável que recebe o conteúdo do BD. ;)

[]’s :D


Paulo Ricardo, pode ir lá que já tá legal! Muito Obrigado! :)

Se puder ajudar na outra dúvida também... ;)

#5 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 27/03/2007, 21:01

Paulo, anexei a folha de estilos do fórum (template subsilver) e continua. Olha o link: http://www.gnvclube....irst_post_id=75 e veja que nos códigos do negrito (bem no final do último parágrafo) fica o código [b e [/b com uns códigos malucos do lado.

Como resolvo isso?

Simples... o phpBB "traduz" o código gravado no BD na exibição. Logo, tu terá de chamar o mesmo parser do phpBB (ou fazer sua própria adaptação, menos indicado) para exibir o texto formatado adequadamente. ;)

De nada... :P

[]’s :DAté mais

#6 tekoBR

tekoBR

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 27/03/2007, 21:07

Simples... o phpBB "traduz" o código gravado no BD na exibição. Logo, tu terá de chamar o mesmo parser do phpBB (ou fazer sua própria adaptação, menos indicado) para exibir o texto formatado adequadamente. ;)

De nada... :P

[]’s :D


O que é esse tal de "parser"? Como faço isso? Tem algum exemplo?

#7 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 27/03/2007, 21:15

O que é esse tal de "parser"? Como faço isso? Tem algum exemplo?

Bem, eu nunca usei o phpBB nem tenho ele por aqui... Mas é simples. O parser é uma função que converte BBCodes no código (X)HTML correspondente. Todo bulletin board possui um, inclusive o IPB. Dê uma procurada no código-fonte do phpBB por este conversor, e chame o arquivo correspondente no seu código (por exemplo, via include), passando o retorno do BD na referida função. ;)

[]’s :DAté mais

#8 tekoBR

tekoBR

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 27/03/2007, 21:51

Pelo o que vi não vai dar para fazer não, tem um tal de id (os números doidos que estão no link) e não tenho a mínima idéia de como pegá-los...

Bom, habilitei o html e agora usando tag HTML em vez do BBCode na mensagem está funcionando. Tenho que habilitar usar HTML somente para alguns usuários, vou pesquisar isso agora. Obrigado pela ajuda.

#9 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 28/03/2007, 01:36

Pelo o que vi não vai dar para fazer não, tem um tal de id (os números doidos que estão no link) e não tenho a mínima idéia de como pegá-los...

Isto seria convertido pelo próprio parser do phpBB...

Bom, habilitei o html e agora usando tag HTML em vez do BBCode na mensagem está funcionando. Tenho que habilitar usar HTML somente para alguns usuários, vou pesquisar isso agora. Obrigado pela ajuda.

Deixa disso rapaz! Permitir HTML é muito perigoso. Segue uma adaptação que fiz a partir de um código que achei no Google, está funcionando perfeitamente:

<?php

if (!defined('IN_PHPBB')) {
	define('IN_PHPBB', true);
	$phpbb_root_path = './phpbb/'; // configure aqui o diretório do phpBB
	require_once $phpbb_root_path . 'extension.inc';
	require_once $phpbb_root_path . 'common.php';
	require_once $phpbb_root_path . 'includes/bbcode.php';
	require_once $phpbb_root_path . 'includes/template.php';
}

$template = new Template($phpbb_root_path . 'templates/subSilver'); // mude para seu template

$conn = mysql_connect('localhost', 'root', '********'); // mude para seus dados
		mysql_select_db('phpbb');

$query = mysql_query('SELECT count(`post_id`) FROM `phpbb_posts_text`') or die('Erro: ' . mysql_error());
$total = mysql_result($query, 0);
$query = mysql_query('SELECT `bbcode_uid`, `post_text`, `post_subject` FROM `phpbb_posts_text` ORDER BY `post_id` DESC LIMIT 5') or die('Erro: ' . mysql_error()); // mude 5 para quantidade de tópicos a serem exibidos

if ($total > 0) {

?>
<table border="1">
  <tbody>
<?php

	while($row = mysql_fetch_array($query)) {
		$message = nl2br($row['post_text']);
		$message = bbencode_second_pass($message, $row['bbcode_uid']);
		$message = make_clickable($message);
		$message = smilies_pass($message);

?>
	<tr>
	  <td>Tópico: <?php print $row['post_subject']; ?></td>
	</tr>
	<tr>
	  <td><?php print $message; ?></td>
	</tr>
<?php

	}

?>
</table>
<?php

} else {
	print 'Não há tópicos para serem exibidos.';
}

?>
[]’s :DAté mais




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq