网站模板库
  • 首页
  • web前端工具
    • HTML/JS转换工具
    • JS/HTML格式化工具
    • 字母/英文大小写转换工具
    • robots.txt文件生成工具
    • Js压缩/格式化工具
    • Css在线压缩工具_代码格式化
  • 关于我们
    • 免责声明
    • 联系我们
    • 广告服务
    • 服务项目
    • 关于我们
    • 网站轮播
    • 公告
    • 成都优优科技专用
    • 按行业分类
  • web学院
    • 服务器教程
    • 学习资料
      • 基础书籍
      • 交互书籍
      • 入门教程
      • 特效分类
    • 案例分享
    • web资讯
  • 网页特效
    • 图片特效
    • 导航特效
    • 滑动按钮
    • 表单特效
    • 文字特效
    • 弹窗特效
    • 其他特效
  • 织梦模板
    • 科技/电子/数码/通信
    • 文化/艺术/广告/传媒
    • 装修/设计/家居/家具
    • 基建/施工/地产/物业
    • 餐饮/酒店/旅游/票务
    • 食品/果蔬/饮料/日用
    • 服饰/珠宝/礼品/玩具
    • 摄影/婚庆/家政/生活
    • 运动/健身/体育/器材
    • 学校/教育/培训/科研
    • 美容/保健/医院/医疗
    • 金融/财税/咨询/法律
    • 政府/组织/集团/协会
    • 汽车/物流/交通/搬运
    • 机械/设备/制造/仪器
    • 化工/环保/能源/材料
    • 农业/畜牧/养殖/宠物
    • 其他模版
    • IT/软件/信息/互联网
  • 手机模板
    • 手机APP模板
    • 微信小程序模板
    • wap
  • 网站模板
    • joomla模板
    • Drupal模板
    • z-blog模板
    • EyouCms模板
    • Bootstrap模板
    • 帝国cms模板
    • CmsEasy模板
    • MetInfo模板
    • 购物商城模板
      • Shopify主题
      • PrestaShop主题
    • 后台模板
    • 纯HTML模板
    • ecshop模板
    • phpwind模板
    • pbootcms模板
    • phpcms模板
    • wordpress模板
    • discuz模板
  • 教程
    • 织梦教程
    • Discuz教程
    • WordPress教程
    • Phpcms教程
    • Phpwind教程
    • ECShop教程
    • Joomla教程
    • Drupal教程
    • zblog教程
    • EyouCMS教程
    • 帝国cms教程
    • MetInfo教程
    • CmsEasy教程
登录
当前位置:网站模板库 > web学院 > 案例分享 > 请教个关于 BBCode 转 HTML 的问题。
admin 案例分享 2023-06-23 10:31:54

请教个关于 BBCode 转 HTML 的问题。

请教个关于 BBCode 转 HTML 的问题。,第1张

请教个关于 BBCode 转 HTML 的问题。,第2张

我从网上找了个 BBCode 转 HTML 的 PHP 类,但是我使用时发现换行都是<br />

我想把<br />给换成\n<br>,但是我在里面只找到两个,而且修改后仍然是<br />。

<?php
error_reporting(E_ALL & ~E_DEPRECATED);
class bbcode {
private static $simple_search=array(
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[s\](.*?)\[\/s\]/is',
'/\[size\=(.*?)\](.*?)\[\/size\]/is',
'/\[color\=(.*?)\](.*?)\[\/color\]/is',
'/\[center\](.*?)\[\/center\]/is',
'/\[font\=(.*?)\](.*?)\[\/font\]/is',
'/\[align\=(left|center|right)\](.*?)\[\/align\]/is',
'/\[url\](.*?)\[\/url\]/is',
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[mail\=(.*?)\](.*?)\[\/mail\]/is',
'/\[mail\](.*?)\[\/mail\]/is',
'/\[img\](.*?)\[\/img\]/is',
'/\[img\=(\d*?)x(\d*?)\](.*?)\[\/img\]/is',
'/\[img (.*?)\](.*?)\[\/img\]/ise',
'/\[quote\](.*?)\[\/quote\]/is',
'/\[quote\=(.*?)\](.*?)\[\/quote\]/is',
'/\[code\](.*?)\[\/code\]/is',
'/\[sub\](.*?)\[\/sub\]/is',
'/\[sup\](.*?)\[\/sup\]/is',
'/\[p\](.*?)\[\/p\]/is',
"/\[youtube\](.*?)\[\/youtube\]/i",
"/\[gvideo\](.*?)\[\/gvideo\]/i",
'/\[bull \/\]/i',
'/\[copyright \/\]/i',
'/\[registered \/\]/i',
'/\[tm \/\]/i',
);
private static $simple_replace=array(
'<strong></strong>',
'<em></em>',
'<u></u>',
'<del></del>',
'<span style="font-size: ;"></span>',
'<span style="color: ;"></span>',
'<div style="text-align: center;"></div>',
'<span style="font-family: ;"></span>',
'<div style="text-align: ;"></div>',
'<a rel="nofollow" href=""></a>',
'<a rel="nofollow" href=""></a>',
'<a href="mailto:"></a>',
'<a href="mailto:"></a>',
'<img src="" alt="" />',
'<img height="" width="" alt="" src="" />',
'"<img ". str_replace("&#039;", "\"",str_replace("&quot;", "\"", "")) . " src=\"\" />"',
'<blockquote></blockquote>',
'<blockquote><strong> wrote:</strong> </blockquote>',
'<pre></pre>',
'<sub></sub>',
'<sup></sup>',
'<p></p>',
"<object width=\"425\" height=\"350\"><embed src=\"https://www.youtube.com/v/\" type=\"application/x-shockwave-flash\" width=\"425\" height=\"350\"></embed></object>",
"<embed src=\"https://video.google.com/googleplayer.swf?docId=\" type=\"application/x-shockwave-flash\" style=\"width: 425px; height: 350px;\">",
'&bull;',
'&copy;',
'&reg;',
'&trade;',
);
private static $lineBreaks_search=array(
'/\[list(.*?)\](.+?)\[\/list\]/sie',
'/\[\/list\]\s*\<br\>/i',
'/\[code\](.+?)\[\/code\]/sie',
'/\[\/code\]\s*\<br\>/i',
'/\[\/quote\]\s*\<br\>/i',
'/\[\/p\]\s*\<br\>/i',
'/\[\/center\]\s*\<br\>/i',
'/\[\/align\]\s*\<br\>/i',
);
private static $lineBreaks_replace=array(
"'[list]'.str_replace('<br>', '', '').'[/list]'",
"[/list]",
"'[code]'.str_replace('<br>', '', '').'[/code]'",
"[/code]",
"[/quote]",
"[/p]",
"[/center]",
"[/align]",
);
private static function process_list_items($list_items) {
$result_list_items=array();
preg_match_all("/\[li\](.*?)\[\/li\]/is", $list_items, $li_array);
$li_array=$li_array[1];
if (empty($li_array)) {
$list_items_array=explode("[*]", $list_items);
foreach ($list_items_array as $li_text) {
$li_text=trim($li_text);
if (empty($li_text)) {
continue;
}
$li_text=nl2br($li_text);
$result_list_items[]='<li>'.$li_text.'</li>';
}
} else {
foreach ($li_array as $li_text) {
$li_text=nl2br($li_text);
$result_list_items[]='<li>'.$li_text.'</li>';
}
}
$list_items=implode("\n", $result_list_items);
return $list_items;
}
public static function parse($string) {
$s=(string) $string;
if (empty($s)) {
return '';
}
$s=preg_replace('/\[url\=([^( http)].+?)\](.*?)\[\/url\]/i', '[url=http://][/url]', $s);
$s=preg_replace('/\[url\]([^( http)].+?)\[\/url\]/i', '[url=http://][/url]', $s);
$s=nl2br($s);
$s=preg_replace(self::$lineBreaks_search,self::$lineBreaks_replace, $s);
$s=preg_replace(self::$simple_search, self::$simple_replace, $s);
$s=preg_replace('/\[list\](.*?)\[\/list\]/sie', '"<ul>\n".self::process_list_items("")."\n</ul>"', $s);
$s=preg_replace('/\[list\=(disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman|lower-greek|lower-alpha|lower-latin|upper-alpha|upper-latin|hebrew|armenian|georgian|cjk-ideographic|hiragana|katakana|hiragana-iroha|katakana-iroha|none)\](.*?)\[\/list\]/sie',
'"<ol style=\"list-style-type: ;\">\n".self::process_list_items("")."\n</ol>"', $s);
return $s;
}
}
echo bbcode::parse('[b]Test[/b]
')
?>

输出的结果是<strong>Test</strong><br />,我想使它他转成

<strong>Test</strong>

<br>

结贴, nl2br 后面需要跟个参数 ----------------------- 以下是精选回复-----------------------

 

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 请教个关于 BBCode 转 HTML 的问题。

admin 钻石

分享到:
上一篇
和一个朋友合租一个vps,求指导这种一般是怎么管理啊
下一篇
vps有替换镜像的功能, server2用server1的镜像替换后,如何连接server2?

相关推荐

hibernate 中 hibernate.hbm2ddl.auto=update 时,执行初始化数据库数据的最好办法?

hibernate 中 hibernate.hbm2ddl.auto=update 时,执行初始化数据库数据的最好办法?

phpStorm 如何配置默认的服务器的路径 和 端口?

phpStorm 如何配置默认的服务器的路径 和 端口?

请教一个前端路由问题

请教一个前端路由问题

兄弟们,现在遇到一个问题,去哪儿机票中的请求头 pre 参数怎么破解出来的

兄弟们,现在遇到一个问题,去哪儿机票中的请求头 pre 参数怎么破解出来的

0条评论

发表评论 取消回复

要发表评论,您必须先登录。

提供最优质的资源集合

立即查看 了解详情
网站模板库

主题/付费下载/查看/余额管理/自定义积分,集成支付,卡密,推广奖励等。

本站导航
  • 链接标题
友情链接
  • 链接标题
快速搜索
本站由钛宇宙强力驱动
友情链接:
    商业源码网蜀ICP备2023005044号
    网站模板库
    • 登录
    • 注册
    网站模板库
    • 首页
    • web前端工具►
      • HTML/JS转换工具
      • JS/HTML格式化工具
      • 字母/英文大小写转换工具
      • robots.txt文件生成工具
      • Js压缩/格式化工具
      • Css在线压缩工具_代码格式化
    • 关于我们►
      • 免责声明
      • 联系我们
      • 广告服务
      • 服务项目
      • 关于我们
      • 网站轮播
      • 公告
      • 成都优优科技专用
      • 按行业分类
    • web学院►
      • 服务器教程
      • 学习资料►
        • 基础书籍
        • 交互书籍
        • 入门教程
        • 特效分类
      • 案例分享
      • web资讯
    • 网页特效►
      • 图片特效
      • 导航特效
      • 滑动按钮
      • 表单特效
      • 文字特效
      • 弹窗特效
      • 其他特效
    • 织梦模板►
      • 科技/电子/数码/通信
      • 文化/艺术/广告/传媒
      • 装修/设计/家居/家具
      • 基建/施工/地产/物业
      • 餐饮/酒店/旅游/票务
      • 食品/果蔬/饮料/日用
      • 服饰/珠宝/礼品/玩具
      • 摄影/婚庆/家政/生活
      • 运动/健身/体育/器材
      • 学校/教育/培训/科研
      • 美容/保健/医院/医疗
      • 金融/财税/咨询/法律
      • 政府/组织/集团/协会
      • 汽车/物流/交通/搬运
      • 机械/设备/制造/仪器
      • 化工/环保/能源/材料
      • 农业/畜牧/养殖/宠物
      • 其他模版
      • IT/软件/信息/互联网
    • 手机模板►
      • 手机APP模板
      • 微信小程序模板
      • wap
    • 网站模板►
      • joomla模板
      • Drupal模板
      • z-blog模板
      • EyouCms模板
      • Bootstrap模板
      • 帝国cms模板
      • CmsEasy模板
      • MetInfo模板
      • 购物商城模板►
        • Shopify主题
        • PrestaShop主题
      • 后台模板
      • 纯HTML模板
      • ecshop模板
      • phpwind模板
      • pbootcms模板
      • phpcms模板
      • wordpress模板
      • discuz模板
    • 教程►
      • 织梦教程
      • Discuz教程
      • WordPress教程
      • Phpcms教程
      • Phpwind教程
      • ECShop教程
      • Joomla教程
      • Drupal教程
      • zblog教程
      • EyouCMS教程
      • 帝国cms教程
      • MetInfo教程
      • CmsEasy教程

      弹窗标题

      这是一条网站公告,可在后台开启或关闭,可自定义背景颜色,标题,内容,用户首次打开关闭后不再重复弹出,此处可使用html标签...