在我的自定义博客中创建BBCode样式的标签

时间:2013-09-10 13:30:01

标签: php html bbcode

我想为自定义的Blog系统创建BBCode类型的标签。但是我不知道从哪里开始。我不是要求完整的工作脚本或任何东西(如果它可能是一个很长的代码),但我想知道我需要什么以及一些基本的线索让我去。谢谢你的所有提示!

这是我想要添加到的代码:

    $query=$db->prepare("SELECT post_id, title, LEFT(body, 400) AS body, category FROM posts INNER JOIN categories ON categories.category_id=posts.category_id ORDER BY post_id DESC LIMIT $start, $per_page");
        $query->execute();
        $query->bind_result($post_id, $title, $body, $category);    
while($query->fetch()):
        $lastspace = strrpos($body, ' ');?>
    <article>
    <div class="5pxPadding">
    <h2><?php echo "<a href='post.php?id=$post_id'>$title</a>";?></h2>
    <?php echo "Category: ", $category;?>
    <?php echo "<br><br>";?>
    <p><?php
//END BBCODE, ECHO POST
    $body_sub = substr($body, 0) . "<br><br><a href='post.php?id=$post_id'> Continue Reading →</a>";
    echo nl2br($body_sub); ?></p>
    <?php echo "<hr>" ; ?>
    </div>
</article>

我知道代码很麻烦btw,你不需要告诉我。

1 个答案:

答案 0 :(得分:1)

你可能会这样做:

$str = 'this is a string with [bold]bold[/bold] text';
$str = preg_replace('/(\[bold\])/', '<strong>', $str );
$str = preg_replace('/(\[\/bold\])/', '</strong>', $str );
echo $str;

我在正则表达式方面并不擅长,所以我确信某个向导可以将我的两个语句组合成一个,但这是一般的想法。只需用适当的html替换任何bbcode?

<强> DEMO