php - 在 php 中编辑字符串

标签 php mysql regex

我正在制作一个网站和一个 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/

相关文章:

java - 由单个正斜杠分割的正则表达式

PHP MYSQL TWIG 下拉菜单创建

mysql - 一次对不同的表运行相同的 sql 查询(bash 脚本)

php - 什么是 PHP session_start()

mysql - Bootstrap 错误 3 : modal and $_GET my ID

php - 没有在 div 中显示数据库用户,以用户获取 0 登录

python - 迭代并替换元组python行中的单词

匹配精确字符串的正则表达式(不允许终止换行符)

php - C/PHP 中的复合 bool 表达式和变量赋值

php - Symfony 3 - 如何使用表单处理 JSON 请求