开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[其他] 星空晶体的BBcode预览器的第二个版本发布

 发表于 2024-7-3 18:51:50 来自手机|显示全部楼层|阅读模式 IP:山东省
网站


这是第二个版本,已经支持表格等重要的标签,且修复了一点bug

目前支持标签:
color backcolor size
url img
b s u i hr
(下面是新增标签)
table、tr、td
list
quote、spoiler、hide
(详细使用教程见【BGM】帖子排版技巧【超级详细】 ,里面有大佬的教程)
其他:修改了界面,取消背景图、预览内容不再会让网页延伸,而是在一个固定框里可以向下滑动。


bug修复:修正 url 标签的bug:原来的url仅支持这种使用
  1. [url=https://xxx.com]xxx[/url]
复制代码
现在支持
  1. [url]https://xxx.com[/url](链接文本直接显示,且能跳转)
复制代码


新增展示:
Screenshot_20240703_184120_com.microsoft.emmx.canary.jpgScreenshot_20240703_184143_com.microsoft.emmx.canary.jpgScreenshot_20240703_184159_com.microsoft.emmx.canary.jpgScreenshot_20240703_184543_com.microsoft.emmx.canary.jpg


源码:
  1. <!DCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="utf-8" name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  5.         <title>BBcode预览器</title>
  6.         <style>
  7.       body{
  8.         margin: 0;
  9.         padding: 0;
  10.         font-size: 12px;
  11.         font-family: ‘Microsoft YaHei’, sans-serif;
  12.         filter: blur(px); /* 这里设置模糊度,数值越大越模糊 */
  13.       }
  14.       
  15.       #qianyan {
  16.         border: 2px solid orange;
  17.         margin-top: 20px;
  18.         border-radius: 10px;
  19.         background-color: rgba(255, 255, 255, 0);
  20.       }
  21.       #qianyan .biaoti {
  22.         text-align: center;
  23.         color: #87ceeb;
  24.         /*text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); 添加一个轻微的阴影以增强效果 */
  25.         
  26.       }
  27.       #qianyan .wen {
  28.         
  29.         color: #00008B
  30.       }
  31.       #zhengshi {
  32.         color: black;
  33.         background-color: white;
  34.         
  35.         border: 2px solid orange;
  36.         margin-top: 20px;
  37.         border-radius: 10px;
  38.         background-color: rgba(255, 255, 255, 0);
  39.         overflow: hidden; /* 添加这个属性来防止内容溢出 */
  40. }

  41.       #yulan {
  42.         margin-left: 20px;
  43.         width: calc(100% - 40px); /* 使用calc函数动态计算宽度 */
  44.         height: 260px;
  45.         border: 2px solid #00008B;
  46.         border-radius: 10px;
  47.         background-color: rgba(255, 255, 255, 0);
  48.         
  49.         overflow: hidden;
  50. }

  51.       #zhengshi .biaoti {
  52.         text-align: center;
  53.         color: #87ceeb;
  54.         
  55.        /* text-shadow: 0 0 3px rgba(0, 0, 0, 0.8); 添加一个轻微的阴影以增强效果 */
  56.       }
  57.       #zhengshi .anniu {
  58.         width: 200px; /* 设置按钮的宽度 */
  59.         height: 50px; /* 设置按钮的高度 */
  60.         padding: 10px; /* 设置内边距 */
  61.         
  62.         border: 1px solid #00008B; /* 设置边框样式和颜色 */
  63.         border-radius: 25px; /* 设置边框角的半径 */
  64.         background-color: rgba(255, 255, 255, 0);;
  65.         margin-left: 80px; /* 设置按钮距离左侧80像素 */  
  66.         margin-top: 20px;      
  67.         
  68.       }
  69.        #zhengshi .biaoti1 {
  70.         
  71.         text-align: center;
  72.         color: #87ceeb
  73.         /*text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);  添加一个轻微的阴影以增强效果 */
  74.        }
  75.        table {
  76.          width: 100%;
  77.          border-collapse: collapse;
  78.          color: black;
  79. }

  80.        tr, td {
  81.          border: 1px solid black;
  82. }
  83.        ol, ul {
  84.   margin: 0; /* 移除默认的外边距 */
  85.   padding: 0; /* 移除默认的内边距 */
  86.   list-style-position: inside; /* 将列表标记放在文本内边距中 */
  87. }

  88. li {
  89.   margin: 0; /* 移除默认的外边距 */
  90.   padding: 0; /* 移除默认的内边距 */
  91.   line-height: 1.5; /* 设置行高,确保文本垂直居中 */
  92.   vertical-align: middle; /* 设置垂直对齐方式 */
  93. }
  94.    #output {
  95.     background-color: rgba(255, 255, 255, 0); /* 半透明背景 */
  96.     border: 1px solid #00008B; /* 边框 */
  97.     margin-top: 10px;
  98.     padding: 10px;
  99.     border-radius: 10px;
  100.     width: 94%;
  101.     height: 400px; /* 设置固定高度 */
  102.      /* 隐藏水平滚动条 */
  103.     overflow-y: auto; /* 当内容超过高度时显示垂直滚动条 */
  104.     word-wrap: break-word; /* 允许长单词或URL换行 */
  105.     white-space: pre-wrap; /* 保留空白,但允许适当换行 */
  106. }

  107. #output1 {
  108.     font-size: 20px;
  109.     margin: 0; /* 移除默认的margin */
  110.     white-space: pre-wrap; /* 保留空白,但允许适当换行 */
  111. }

  112.     </style>
  113.         <script>
  114.       function jiexi() {
  115.   var shuchu = document.getElementById(“yulan”).value;
  116.   yulan = shuchu
  117.     .replace(/\[color=([^\]]+)\](.*?)\[\/color\]/gi, function(match, color, content) {
  118.       return ‘<span style="color: ' + color + '">‘ + content + ‘</span>‘;
  119.     })
  120.     .replace(/\[backcolor=([^\]]+)\](.*?)\[\/backcolor\]/gi, function(match, backcolor, content) {
  121.       return ‘<span style="background-color: ' + backcolor + '">‘ + content + ‘</span>‘;
  122.     })
  123.     .replace(/\[size=(\d+)\](.*?)\[\/size\]/gi, function(match, size, content) {
  124.       var fontSize;
  125.       switch (size) {
  126.         case ‘1’:
  127.           fontSize = ‘12px’;
  128.           break;
  129.         case ‘2’:
  130.           fontSize = ‘16px’;
  131.           break;
  132.         case ‘3’:
  133.           fontSize = ‘20px’;
  134.           break;
  135.         case ‘4’:
  136.           fontSize = ‘24px’;
  137.           break;
  138.         case ‘5’:
  139.           fontSize = ‘28px’;
  140.           break;
  141.         case ‘6’:
  142.           fontSize = ‘32px’;
  143.           break;
  144.         case ‘7’:
  145.           fontSize = ‘36px’;
  146.           break;
  147.         case ‘8’:
  148.           fontSize = ‘40px’;
  149.           break;
  150.         default:
  151.           fontSize = ‘20px’;
  152.           break;
  153.       }
  154.       return ‘<span style="font-size: ' + fontSize + '">‘ + content + ‘</span>‘;
  155.     })
  156.     .replace(/\[url=([^\]]+)\](.*?)\[\/url\]/gi, function(match, url, content) {
  157.       return ‘<a href="' + url + '" target="_blank">‘ + content + ‘</a>‘;
  158.     })
  159.     .replace(/\[url\](.*?)\[\/url\]/gi, function(match, url) {
  160.       return ‘<a href="' + url + '" target="_blank">‘ + url + ‘</a>‘;
  161.     })
  162.     .replace(/\[b\]/g, “<strong>“)
  163.     .replace(/\[\/b\]/g, “</strong>“)
  164.     .replace(/\[s\]/g, “<s>“)
  165.     .replace(/\[\/s\]/g, “</s>“)
  166.     .replace(/\[u\]/g, “<u>“)
  167.     .replace(/\[\/u\]/g, “</u>“)
  168.     .replace(/\[i\]/g, “<i>“)
  169.     .replace(/\[\/i\]/g, “</i>“)
  170.     .replace(/\[quote\](.*?)\[\/quote\]/gs, function(match, quoteContent) {
  171.       return ‘<div style="border: 1px dashed orange; padding: 10px; margin: 10px 0; background-color: #ffe0a3; color: #d97008;">‘ + ‘回复 ‘+ quoteContent + ‘</div>‘;
  172.     })
  173.     .replace(/\[table\]/gi, ‘<table style="width: 98%;">‘)
  174.     .replace(/\[\/table\]/g, “</table>“)
  175.     .replace(/\[tr\]/g, “<tr>“)
  176.     .replace(/\[\/tr\]/g, “</tr>“)
  177.     .replace(/\[td\]/g, “<td>“)
  178.     .replace(/\[\/td\]/g, “</td>“)
  179.     .replace(/\[spoiler\](.*?)\[\/spoiler\]/gs, function(match, spoilerContent) {
  180.       return ‘<div style="border: 1px solid #00008B; padding: 0; margin: 10px 0;">‘ +
  181.       ‘<div style="background-color: blue; color: white; text-align: center; padding: 5px;">折叠内容</div>‘ +
  182.       ‘<div style="background-color: white; color: black; padding: 10px;">‘ + spoilerContent + ‘</div>‘ +
  183.       ‘</div>‘;
  184. })
  185.     .replace(/\[hide=(\d+)\](.*?)\[\/hide\]/gs, function(match, points, hiddenContent) {
  186.       return ‘<div style="border: 1px solid #00008B; padding: 0; margin: 10px 0;">‘ +
  187.       ‘<div style="background-color: red; color: white; text-align: center; padding: 5px;">积分>’ + points + ‘才能查看,否则需要回复!</div>‘ +
  188.       ‘<div style="background-color: white; color: black; padding: 10px;">‘ + hiddenContent + ‘</div>‘ +
  189.       ‘</div>‘;
  190. })

  191.     .replace(/\[align=(left|center|right)\](.*?)\[\/align\]/gi, function(match, align, content) {
  192.       return ‘<div style="text-align: ' + align + '">‘ + content + ‘</div>‘;
  193.     })
  194.     .replace(/\[list=1\](.*?)\[\/list\]/gs, function(match, listContent) {
  195.       return ‘<ol>‘ + listContent.replace(/\[\*\](.*?)\n?/g, ‘<li>$1</li>‘) + ‘</ol>‘;
  196.     })
  197.     .replace(/\[list\](.*?)\[\/list\]/gs, function(match, listContent) {
  198.       return ‘<ul>‘ + listContent.replace(/\[\*\](.*?)\n?/g, ‘<li>$1</li>‘) + ‘</ul>‘;
  199.     })
  200.     .replace(/\[img\](.*?)\[\/img\]/g, “<img src="$1" style="max-width: 100%; height: auto;">“)
  201.     .replace(/\[\hr\]/g, “<hr>");
  202.   document.getElementById("output1").innerHTML = yulan;
  203. }



  204.     </script>
  205.     </head>
  206.     <body>
  207.         <div id="qianyan">
  208.             <h1 class="biaoti">在 使 用 之 前</h1>
  209.             <p class="wen"><strong>BBcode</strong>是一种简单、易学的<strong>标记语言。</strong>主要用于论坛、在线社区和公告板等平台的文本格式化。它基于HTML,但相比之下更为简单,易于学习和使用。BBcode通过使用特殊的标签来对文本进行格式化,这些标签在显示时会转换为HTML代码,从而实现在网页上的格式化效果。BBcode的语法类似于Html,但是是[]不是&lt;&gt;。此工具可快速预览BBcode代码,让用户可查看排版并修复不足的排版。</p>
  210.         </div>
  211.         <div id="zhengshi">
  212.             <h1 class="biaoti">开 始 使 用</h1> <br> <textarea id="yulan" placeholder="请在这里输入你的BBcode代码"></textarea> <button class="anniu" onclick="jiexi()">点击预览</button> <br>
  213.             <h1 class="biaoti1">↓下面预览↓</h1>
  214.             <div id="output">
  215.                 <pre id="output1"></pre>
  216.             </div>
  217.         </div> <br>
  218.     </body>
  219. </html>
复制代码


支持一下吧
苦力怕论坛,感谢有您~
 发表于 2024-7-3 19:15:46 来自手机|显示全部楼层 IP:江西省
非常好网站,爱来自埃利都
2#2024-7-3 19:15:46回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2024-7-3 22:56:42 来自手机|显示全部楼层 IP:0
哈哈哈,大佬的东西,根本看不懂,本人还要努力啊。
3#2024-7-3 22:56:42回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2024-7-4 07:38:31 来自手机|显示全部楼层 IP:重庆

感谢分享
4#2024-7-4 07:38:31回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2024-7-5 15:20:39 来自手机|显示全部楼层 IP:河北省
硬核屎山正则 ✓
5#2024-7-5 15:20:39回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-12-16 05:30

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3