我想为自定义的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,你不需要告诉我。
答案 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? p>
<强> DEMO 强>