1

私は phpbb フォーラムを持っており、最新の 3 件の投稿を自分のウェブサイトに表示したいと考えています。DBに接続して、必要なものを取得できますが、投稿からimgを取得できません。投稿内容は Blob として保存されます。投稿を行うと、次のようになります。

「こんにちは、これはテスト投稿です。

[img]http://www.petfinder.com/wp-content/uploads/2012/11/101418789-cat-panleukopenia-fact-sheet-632x475.jpg[/img]

ファイルの終わり。」

フォーラムでは、テキストと画像を見ることができます。しかし、私のウェブサイトで投稿を表示すると、次のようになります。

(Hello this is a test post. [img:3vv18at0]http://www.petfinder.com/wp-content/uploads/2012/11/101418789-cat-panleukopenia-fact-sheet-632x475.jpg[/img:3vv18at0]End of the file.)

入力投稿をテキストとして表示します。投稿をフォーラムのように表示し、テキストと画像をその場所に表示したいと思います。

これは私が使用しているコードです:

<?php  
     $conexion = mysql_connect("localhost","MYUSER","MYPASS"); 
    $nPost = "0,3";
    //DB a la que me conecto     
    mysql_select_db("DATABASE", $conexion) OR die("No se puede establecer la conexión a MySQL"); 
    $consulta1 = "SELECT * FROM phpbb_topics WHERE forum_id = '4' ORDER BY topic_id DESC LIMIT $nPost";
    $resultado1 = mysql_query($consulta1);
    $consulta2 = "SELECT * FROM phpbb_posts WHERE forum_id = '4' ORDER BY topic_id DESC LIMIT $nPost";
    $resultado2 = mysql_query($consulta2);

    while ($row = mysql_fetch_array($resultado1)) {

    $datosPost = mysql_fetch_array($resultado2);

    $id = "$row[topic_id]";  
    $titulo = "$row[topic_title]"; 
    $respuestas = "$row[topic_replies]";
    $by = "$row[topic_first_poster_name]";
            $text = "$datosPost[post_text]";
    ///////////////////EDIT AND WORKING//////////////////
            $b = preg_replace('#\[img:(.*?)\](.*?)\[/img:(.*?)\]#s', '<br><img  src="$2"/><br> ', $text);
    $c = preg_replace('#\((.*?)\)#s', '$1', $b);        
    $text = $c;
            ////////////////////////THANKS TO damienkeitel//////////////

        echo"<a href='http://www.compraclientes.com/foro/viewtopic.php?f=4&t=$id'><div class='postEntry'><div class='postHeader'><div class='postTitle'>$titulo</div><div class='postOwner'>(By $by)</div> <div class='postReplies'>($respuestas Respuestas)</div></div><div class='postText'>($text)</div></div></a>";  
        } 
    mysql_close($conexion);         
    ?>

どうもありがとうございました

4

2 に答える 2

0

私の以前の回答の1つを少し修正して、必要な情報を提供できると思います。

外部ページに最新の 5 件の投稿を表示する

あなたの質問に対する簡単な答えは、このコードの塊です。これにより、データのさまざまな側面がクリーンアップされます。

     $topic_title       = $posts_row['topic_title'];
     $post_author       = get_username_string('full', $posts_row['poster_id'], $posts_row['username'], $posts_row['user_colour']);
     $post_date          = $user->format_date($posts_row['post_time']);
     $post_link       = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "p=" . $posts_row['post_id'] . "#p" . $posts_row['post_id']);

     $post_text = nl2br($posts_row['post_text']);

     $bbcode = new bbcode(base64_encode($bbcode_bitfield));         
     $bbcode->bbcode_second_pass($post_text, $posts_row['bbcode_uid'], $posts_row['bbcode_bitfield']);

     $post_text = smiley_text($post_text);

前の回答で述べたように、そのコードはPHPBB Wiki の例 4に基づいています。

于 2013-04-29T17:01:55.993 に答える