我正在制作一个网站和一个 PHPBB3 论坛。我希望论坛上发布的消息显示在网站的主页上。我已经理解了这个概念,除了 bbcode 解析很奇怪(phpbb3 在每个 bbcode 标签后添加了一个 UID),而我的 bbcode 解析器不包括这个。由于每个帖子的 UID 都不同,因此我尝试让 PHP 代码通过 MYSQL 解析并删除它。
$query = @mysql_query("SELECT * FROM phpbb_posts where forum_id = 2;") or die (mysql_error());
$uid = $row['bbcode_uid'];
$content = $row['post_text'];
$content = str_replace($uid, '', $content);
$content = BBCode2html($content);
echo $content;
有没有办法可以替换 UID(bbcode 看起来像 [u:1h77z1wc]UNDERLINED[/u:1h77z1wc]
而不是 [u]UNDERLINED[/u]
)?
最佳答案
您可以用正则表达式替换它...
preg_replace('/\[((\w+)(:\w+))](.*?)\[\/\1]/s', '[$2]$4[/$2]', $str);
关于php - 在 php 中编辑字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5931807/