0

我想为我的自定义博客系统创建 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 →&lt;/a>";
    echo nl2br($body_sub); ?></p>
    <?php echo "<hr>" ; ?>
    </div>
</article>

我知道代码很乱,你不需要告诉我。

4

1 回答 1

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?

演示

于 2013-09-10T13:43:48.483 回答