csonchen / wxParse

微信小程序富文本解析
https://csonchen.github.io/wxParse/
MIT License
274 stars 41 forks source link

请问富文本和代码高亮如何同时实现. #24

Closed Y-A-K-E closed 3 years ago

Y-A-K-E commented 3 years ago

大佬是这么回事.

我自己做了一个自己博客的小程序. 源是HTML,内部有多个代码示例.(能实现高亮最好).

pc页面如下 QQ截图20201120205438

小程序用了解析之后,一般标签没问题. 主要是标签这块 .

问题1, \r\n不解析,丢失.

QQ截图20201120205542

HTML代码片段, 实际渲染的时候,好像所有的标签内的 \r\n都没有渲染.(其他标签的没注意) 而实际上页面有\r\n

\/\/C++11\r\n\r\ntemplate....

问题2,

也就是我HTML中有多个code标签. 数量是不固定的. 好像按你代码高亮DEMO只能一个一个添加.... 请问有没有自动安排的套路?

问题3,

内链替换问题.

本身我博文就有一些内链互相引用. 比如html <a href="../../show/73.html" target="_blank" rel="noopener">链接</a> 这种链接没办法解析.即使带自己域名全链接,也没办法打开,因为个人小程序没有打开web页面的权限.

小程序博文显示页路径 pages/detail/detail?id=128 web链接 www.abc.com/show/128.html 实际就是一个ID替换. 这个我自己先研究下,应该可以api返回的时候替换处理掉.


下面是api返回完整的json.

{"code":1,"msg":"ok","data":{"info":{"id":128,"type":"","title":"C\/C++ 获取std::string [] 可变数组元素个数","cate_id":16,"keyword":null,"intro":"百度了一圈啥玩意都没找到,还是谷歌靠谱.","avatar":"","content":"<p>像std::string数组用sizeof并不太准确.百度找了一大圈,没有好办法.还是靠谷歌.<\/p>\r\n<p>&nbsp;<\/p>\r\n<blockquote>\r\n<p>std::string&nbsp; abc [] = {\"test\",\"test2\",\"test3\",\"test4\"};<\/p>\r\n<\/blockquote>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>用宏求<\/h2>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/C++11\r\n\r\ntemplate &lt; typename T, std::size_t N &gt;\r\nconstexpr std::size_t size( T(&amp;)[N] ) { return N ; }\r\n\r\n\r\nstd::cout &lt;&lt; \"array 'abc' size: \" &lt;&lt; size(abc) &lt;&lt; ' ' ;<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>用std::end求<\/h2>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/C++11\r\n\r\n\r\nstd::cout &lt;&lt; std::end(abc) - std::begin(abc) &lt;&lt; ' ' ;<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>通过维度计算<\/h2>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/C++11\r\n\r\n\r\nstd::cout &lt;&lt; std::extent&lt; decltype(abc) &gt;::value &lt;&lt; ' ' ;\r\n<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<h2>向量类型计算<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>这个我也没搞懂.先贴出来.<\/p>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/ C++11 \r\n\r\n\r\n#include &lt;vector&gt;\r\n#include &lt;string&gt;\r\n\r\nstd::vector vs {\"a\", \"be\", \"see\"}; \r\nstd::size_t length = vs.size();<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<h2>for枚举<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>当然,效率不高.<\/p>\r\n<p>这个可以在for内直接枚举.<\/p>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/c++ 11\r\n\r\nint count = 0;\r\n\r\nfor (auto v : abc)\r\n{\r\n        \r\n        \/\/直接用 v 参与计算,这里 v等价于 abc[count];\r\n\r\n        \/\/先干其他的.再累加.\r\n        count++;\r\n         \r\n}<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>参考<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p><a href=\"http:\/\/www.cplusplus.com\/forum\/general\/110091\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.cplusplus.com\/forum\/general\/110091\/#<\/a><\/p>\r\n<p><a href=\"https:\/\/blog.csdn.net\/u010196624\/article\/details\/90085547\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.csdn.net\/u010196624\/article\/details\/90085547<\/a><\/p>\r\n<p><a href=\"https:\/\/www.cnblogs.com\/developing\/articles\/10890903.html\" target=\"_blank\" rel=\"noopener\">https:\/\/www.cnblogs.com\/developing\/articles\/10890903.html<\/a><\/p>\r\n<p>&nbsp;<\/p>","updatetime":1604955411,"createtime":1604264702,"sort":128,"view_count":136,"jump_url":null,"author":null,"status":"normal","is_top":0,"ctitle":"博文","c_url":"https:\/\/www.yge.me\/show\/128.html","c_domain":"https:\/\/test.yge.me","after":{"id":126,"type":"","title":"C\/C++语言几种字符串类型互相转换","cate_id":16,"keyword":null,"intro":"const char * , char *  , char[] , string  互相转换.","avatar":"","updatetime":1604264937,"createtime":1604080264,"sort":126,"view_count":141,"jump_url":null,"author":null,"status":"normal","is_top":0},"front":{"id":130,"type":"","title":"AJAX 跨域请求 cookie问题","cate_id":16,"keyword":null,"intro":"js跨域请求的时候遇到的问题.","avatar":"","updatetime":1605609786,"createtime":1604375566,"sort":130,"view_count":133,"jump_url":null,"author":null,"status":"normal","is_top":0}}}}
Y-A-K-E commented 3 years ago

问题一,找到一个临时解决方法 注释掉替换\r\n的部分

components\wxParse\utils\html2json.js //html = trimHtml(html); 修改这个会导致图片无法展开.JS抛出异常

components\wxParse\utils\wxDiscode.js //str = strMoreDiscode(str);

QQ截图20201120230448

不过,注释掉了html = trimHtml(html); 会引发一个新bug. (不注释是正常的.) 带li ol之类解析有异常.空白的行也会算li.

测试的HTML.(标签H2.补充一栏有li标签)

{"code":1,"msg":"ok","data":{"info":{"id":114,"type":"","title":"openwrt开启无线漫游\/802.11r\/mesh","cate_id":19,"keyword":null,"intro":"所谓无线漫游简单理解就是多个路由器,多个wifi.\r\n当手机信号差的时候自动切换信号强的wifi.可以做到无感知切换.","avatar":"","content":"<p>&nbsp;<\/p>\r\n<h2>从WIFI覆盖问题说起<\/h2>\r\n<p>单个路由器很难做到家里都覆盖.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>那么有两个方案.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>1,加大路由器WIFI功率.比如购买大功率的AP或者大功率的路由器.<\/p>\r\n<p>2,加路由器数量.比如每个房间放一个.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"color: #e03e2d;\">原来<\/span>是设置相同WIFI,相同密码.这样,也会切换WIFI,<span style=\"color: #e03e2d;\">但是要在信号差到手机自动断开的时候才会切换另外的.<\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>802.11r就完美解决这个问题(这不是新鲜玩意.很多年前的标准了.)<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>它使得WIFI之间切换平滑,无感知. 它可以叫做 \"<span style=\"color: #843fa1;\">无缝漫游<\/span>\".<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>从17年开始,openwrt的luci已经带这个功能了,而且设置很简单.<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>软件包<\/h2>\r\n<p>wpad (1907版好像看不到这个包了,应该是默认集成了)<\/p>\r\n<p>wpad-mesh-openssl&nbsp;&nbsp; 或者 其他ssl<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>路由器基本设置<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>我家是客厅 主路由器,<\/p>\r\n<p>书房 和主卧各一个.<\/p>\r\n<p>3个路由都是大麦的DW33D. (<span style=\"color: #e03e2d;\"><strong>并不要求同一个型号路由器,我是图烧录固件方便.而且这个路由器便宜.<\/strong><\/span>)<\/p>\r\n<p>通过有线链接. (房间埋了网线,)当然用无线桥接也可以,不过意义不大.<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>主路由<\/h3>\r\n<p>基本宽带拨号,其他暂时不需要设置.<\/p>\r\n<p>(我自己改了子网掩码.不作说明)<\/p>\r\n<p><br \/>IP我设置为192.168.2.1<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>二级路由<\/h3>\r\n<p>关闭DHCP(建议操作) :<\/p>\r\n<blockquote>\r\n<p>网络--接口--lan(编辑)--DHCP服务器--勾选 忽略此接口<\/p>\r\n<p>DHCP的 IPV6设置中继模式<\/p>\r\n<\/blockquote>\r\n<p>&nbsp;<\/p>\r\n<p>修改二级路由器IP,我两个二级路由器.分别设置LAN口IP<\/p>\r\n<blockquote>\r\n<p>192.168.2.5<\/p>\r\n<p>192.168.2.4<\/p>\r\n<\/blockquote>\r\n<p>&nbsp;<\/p>\r\n<p>网关ip指向主路由器(非必须)<\/p>\r\n<blockquote>\r\n<p>网络--接口--lan(编辑)--常规设置--IPV4网关<\/p>\r\n<\/blockquote>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"font-size: 18px;\"><strong><span style=\"color: #e03e2d;\">如果关闭了DHCP,那么用网线 连接二级路由的LAN 口和主路由Lan口. (也就是路由器当交换机的用法.)<\/span><\/strong><\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>漫游设置<\/h2>\r\n<p>我这里以2.4G为例子,5G的无线漫游方式相同.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>前面准备<\/h3>\r\n<p>&nbsp;<\/p>\r\n<p>复制三个路由器无线的2.4G网络mac值.(要组5G网络漫游就复制5G的)<\/p>\r\n<p>有几个路由器就复制几个.<\/p>\r\n<p>自己新建一个文档存起来.<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxkZw5QWPv0gp5mqtrbnu72ryD80I3*nJWBAIByBs5oxE6Q8XZINrTQlCr78oFvbDS*gmw4Jn7uj.YNEpebXu814!\/mnull&amp;bo=8QP8AfED*AEBCS4!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"1009\" height=\"508\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>比如我的是<\/p>\r\n<blockquote>\r\n<p>主<br \/>14:3D:F2:CA:33:04<br \/><br \/>二级<br \/>14:3D:F2:CB:E8:6C<br \/>14:3D:F2:CD:08:2C<\/p>\r\n<\/blockquote>\r\n<p>&nbsp;<\/p>\r\n<p><strong>整理下<\/strong><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>第一行是mac,<\/p>\r\n<p>第二行是去掉了冒号的mac<\/p>\r\n<p>第三行是mac进行MD5计算得到的32位值(这个可以自己弄个随机32位值)我觉得还是MD5方便点.正好32位长.<\/p>\r\n<blockquote>\r\n<p>主<br \/>14:3D:F2:CA:33:04<br \/>143DF2CA3304<br \/>DB0B9F1219D167C9F2BC3B4158881C91<br \/><br \/>二级路由<br \/>①<br \/>14:3D:F2:CB:E8:6C<br \/>143DF2CBE86C<br \/>A8B47AC7692C3B5B9ED28733793A0160<br \/><br \/>②<br \/>14:3D:F2:CD:08:2C<br \/>143DF2CD082C<br \/>3CC605EFAAF35407887B0C2C12339E7D<\/p>\r\n<\/blockquote>\r\n<p>&nbsp;<\/p>\r\n<h3>&nbsp;<\/h3>\r\n<h3>NAS ID和R1 密钥持有者<\/h3>\r\n<p><span style=\"color: #e03e2d;\">每个路由器都不一样<\/span><\/p>\r\n<p>这两个值都填自己路由wifi的mac值(去掉冒号的)<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxnXkIHB10.QEbRTQTXS6LebkBXTyzkB1p6rXkdLiOg5tv085K0HEa75FVf1zYf6poYIodgzLsbS.YKkVed5Zsik!\/mnull&amp;bo=zQKdA80CnQMBCS4!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"717\" height=\"925\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>外部 R0KH 列表<\/h3>\r\n<p>这里所有路由器填写内容都一样.<\/p>\r\n<p><span style=\"color: #ba372a;\">有多少个路由器,就添加多少行.<\/span><\/p>\r\n<p>每行分别是每个路由器的.<\/p>\r\n<blockquote>\r\n<p>mac,不带冒号mac,mac的MD5值<\/p>\r\n<\/blockquote>\r\n<p>用英文逗号分隔<\/p>\r\n<p><span style=\"background-color: #f1c40f;\">14:3D:F2:CA:33:04<\/span>,<span style=\"background-color: #843fa1;\">143DF2CA3304<\/span>,<span style=\"background-color: #169179;\">DB0B9F1219D167C9F2BC3B4158881C91<\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>外部 R1KH 列表<\/h3>\r\n<p>&nbsp;<\/p>\r\n<p>这里也是,所有路由填写内容都一样.<\/p>\r\n<p><span style=\"color: #ba372a;\">有多少个路由器,就添加多少行.<\/span><\/p>\r\n<p>每行分别是每个路由器的.<\/p>\r\n<blockquote>\r\n<p>mac,mac,mac的MD5值<\/p>\r\n<\/blockquote>\r\n<p>用英文逗号分隔<\/p>\r\n<p><span style=\"background-color: #e67e23;\">14:3D:F2:CA:33:04<\/span>,<span style=\"background-color: #843fa1;\">14:3D:F2:CA:33:04<\/span>,<span style=\"background-color: #169179;\">DB0B9F1219D167C9F2BC3B4158881C91<\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>wifi名字和密码<\/h3>\r\n<p>所有路由器wifi名字相同密码相同,加密方式相同.<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>信道<\/h3>\r\n<p>暂时我所有信道都是一样.<\/p>\r\n<p>不过之前看到一种说法要错开信道.<\/p>\r\n<p>这个待验证后再补充.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>漫游测试<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>丢包是因为我两个二级路由器都是<span style=\"color: #e03e2d;\">没有天线<\/span>的,<\/p>\r\n<p>裸板路由器.没有外壳没有天线的路由器.<\/p>\r\n<p>因为淘宝买来更便宜. 50包邮两个DW33D(仅主板,要自己配电源,配天线)<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxqH75fLkT38TzE5uciUGZds3od3nqGMih3NolJN9FljtkEaO9VGO3rABSOqxsZch6ayEPlUTAYiYAs76HZ6RJVc!\/mnull&amp;bo=oAUACqAFAAoDCSw!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"1440\" height=\"2560\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>天线我准备自己画.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>我参考网上的图,自己画了几个PCB天线.<\/p>\r\n<p>打板中,过几天看看那种天线效果好.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxmK567HNPPEhqFhezf2xQMY6VyIFLCDfybrcKr9eWhLdTxWAudMdTHMznmHKhASWOuvv0Gfwkiqa3BRYwY.J3Xs!\/mnull&amp;bo=SAMyA0gDMgMBCS4!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"840\" height=\"818\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>更新<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>打好了天线的PCB板子了.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>准备把天线加上去.试试效果<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxj7FyhXB5uXsVHLNUbnzp*.GBZxKSLWkATcMKyCOcW*TQkMBUt6vUHhvKLh14rcw0pk*AIdhQAygAKvC9oCEtCU!\/mnull&amp;bo=QAYcCxQNQBcBCTE!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxh3G7zM1T2c3ko7L1RrAhdVSjwliCtnalTH2YCwMKldlXxQZaj4OOMn4GcK71NEQbCCXkkkhB*u4ZjuyHpuE4dM!\/mnull&amp;bo=HAtABkAXFA0BCTE!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxtBGsqE03rq*78BXvPVXzLLcxyOQkct*ISUbP7xaemZhFuYMpNmF.h*nvkVDqV0ZlyMHd3G65yYHDHTPB5SHNB0!\/mnull&amp;bo=HAtABkAXFA0BCTE!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>测试效果<\/h3>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxqrflB5StqOT8FHVgLCj1FXSwFGqOnI850y5VShIg0CGHwjVfAk6tnyLBfxIJw.nla62uvwaqzzZsTr8*FnjI7A!\/mnull&amp;bo=oAUACqAFAAoDCSw!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"1440\" height=\"2560\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>不丢包了.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>补充<\/h2>\r\n<p>&nbsp;<\/p>\r\n<ol>\r\n<li>多个路由器,产品型号不一定要一个.只要刷了支持802.11r的都可以.<\/li>\r\n<li>如果已经配置好了,如果有个路由器不想用,可以关掉,不影响其他路由器漫游功能.<\/li>\r\n<li>如果还要添加,要所有路由器里面都加上去.<\/li>\r\n<\/ol>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>参考<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p><a href=\"https:\/\/post.smzdm.com\/p\/ar07p90z\/pic_13\/\" target=\"_blank\" rel=\"noopener\">https:\/\/post.smzdm.com\/p\/ar07p90z\/pic_13\/<\/a><\/p>\r\n<p><a href=\"http:\/\/www.wifizoo.net\/archives\/517\" target=\"_blank\" rel=\"noopener\">http:\/\/www.wifizoo.net\/archives\/517<\/a><\/p>\r\n<p><a href=\"https:\/\/www.right.com.cn\/forum\/forum.php?mod=viewthread&amp;tid=337083&amp;extra=&amp;ordertype=1&amp;mobile=no\" target=\"_blank\" rel=\"noopener\">https:\/\/www.right.com.cn\/forum\/forum.php?mod=viewthread&amp;tid=337083&amp;extra=&amp;ordertype=1&amp;mobile=no<\/a><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>","updatetime":1604995713,"createtime":1602082595,"sort":114,"view_count":298,"jump_url":null,"author":null,"status":"normal","is_top":0,"ctitle":"路由\/单片机","c_url":"https:\/\/www.yge.me\/show\/114.html","c_domain":"https:\/\/test.yge.me","after":{"id":112,"type":"","title":"将免流V2RAY放在路由器上运行.","cate_id":19,"keyword":null,"intro":"之前我是放N1盒子里面,最近想完全抛弃N1,于是将免流的V2RAY放入路由器中.","avatar":"","updatetime":1602711579,"createtime":1601573859,"sort":112,"view_count":830,"jump_url":null,"author":null,"status":"normal","is_top":0},"front":{"id":116,"type":"","title":"openwrt路由的IPV6相关设置","cate_id":19,"keyword":null,"intro":"记录自己路由器IPV6设置.","avatar":"","updatetime":1603880879,"createtime":1602717342,"sort":116,"view_count":181,"jump_url":null,"author":null,"status":"normal","is_top":0}}}}
Y-A-K-E commented 3 years ago

还遇到一个很小的问题:

如果<a 标签前面有一个&lt; 也就是< 整个A链接都不会解析. html代码,

链接 --&gt; &lt;<a href="https://www.yge.me/show/45.html" target="_blank" rel="noopener">AS:RD 16人同时游戏补丁【客户端/服务端】</a>&gt;

QQ截图20201121010101

必须要在&lt;后有空格才会解析A链接.

我自己改了一下.专门处理这种情况.

/**
 * 修复a"<<a"问题
 * @param {*} html 
 */
function fixaTags(html) {
    return html
    .replace(/&lt;<a/g, '&lt;&nbsp;<a') 
    .replace(/a>&gt;/g, 'a>&nbsp;&gt;')    
} 
csonchen commented 3 years ago

@Y-A-K-E 可以提供代码片段吗,或者提供你解析的HTML文本给我,我才能给你调试

Y-A-K-E commented 3 years ago

json文件里面有,HTML部分我单独发下

<p>像std::string数组用sizeof并不太准确.百度找了一大圈,没有好办法.还是靠谷歌.<\/p>\r\n<p>&nbsp;<\/p>\r\n<blockquote>\r\n<p>std::string&nbsp; abc [] = {\"test\",\"test2\",\"test3\",\"test4\"};<\/p>\r\n<\/blockquote>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>用宏求<\/h2>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/C++11\r\n\r\ntemplate &lt; typename T, std::size_t N &gt;\r\nconstexpr std::size_t size( T(&amp;)[N] ) { return N ; }\r\n\r\n\r\nstd::cout &lt;&lt; \"array 'abc' size: \" &lt;&lt; size(abc) &lt;&lt; ' ' ;<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>用std::end求<\/h2>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/C++11\r\n\r\n\r\nstd::cout &lt;&lt; std::end(abc) - std::begin(abc) &lt;&lt; ' ' ;<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>通过维度计算<\/h2>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/C++11\r\n\r\n\r\nstd::cout &lt;&lt; std::extent&lt; decltype(abc) &gt;::value &lt;&lt; ' ' ;\r\n<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<h2>向量类型计算<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>这个我也没搞懂.先贴出来.<\/p>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/ C++11 \r\n\r\n\r\n#include &lt;vector&gt;\r\n#include &lt;string&gt;\r\n\r\nstd::vector vs {\"a\", \"be\", \"see\"}; \r\nstd::size_t length = vs.size();<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<h2>for枚举<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>当然,效率不高.<\/p>\r\n<p>这个可以在for内直接枚举.<\/p>\r\n<p>&nbsp;<\/p>\r\n<pre class=\"language-c\"><code>\/\/c++ 11\r\n\r\nint count = 0;\r\n\r\nfor (auto v : abc)\r\n{\r\n        \r\n        \/\/直接用 v 参与计算,这里 v等价于 abc[count];\r\n\r\n        \/\/先干其他的.再累加.\r\n        count++;\r\n         \r\n}<\/code><\/pre>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>参考<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p><a href=\"http:\/\/www.cplusplus.com\/forum\/general\/110091\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.cplusplus.com\/forum\/general\/110091\/#<\/a><\/p>\r\n<p><a href=\"https:\/\/blog.csdn.net\/u010196624\/article\/details\/90085547\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.csdn.net\/u010196624\/article\/details\/90085547<\/a><\/p>\r\n<p><a href=\"https:\/\/www.cnblogs.com\/developing\/articles\/10890903.html\" target=\"_blank\" rel=\"noopener\">https:\/\/www.cnblogs.com\/developing\/articles\/10890903.html<\/a><\/p>\r\n<p>&nbsp;<\/p>

问题呢就是code标签内的\r\n被替换了,导致code标签内排版错误. 如果注释掉代码中替换\r\n的部分.会导致,li之类的标签解析会多出几行.

比如下面这种,如果不替换\r\n会导致解析li多出几行.

<ol>\r\n<li>多个路由器,产品型号不一定要一个.只要刷了支持802.11r的都可以.<\/li>\r\n<li>如果已经配置好了,如果有个路由器不想用,可以关掉,不影响其他路由器漫游功能.<\/li>\r\n<li>如果还要添加,要所有路由器里面都加上去.<\/li>\r\n<\/ol>

我暂时是去掉了\r\n替换,另外写了一个li专用的替换.

/**
 * 修复LI"\r\n"问题
 * @param {*} html 
 */
function fixliTags(html) {
    return html
    .replace(/ol>\r?\n+/g, 'ol>') 
    .replace(/ul>\r?\n+/g, 'ul>') 
    .replace(/li>\r?\n+/g, 'li>') 
} 
csonchen commented 3 years ago

@Y-A-K-E 我大概知道问题在哪里了,但是你这段文本的换行符太多了,大致修复之后效果如下 image

csonchen commented 3 years ago

我打算把code标签加入高亮展示,今天弄完之后我发一版新的 @Y-A-K-E

Y-A-K-E commented 3 years ago

大佬, 我使用过程还发现一个问题.不知道是不是我个例.

我为了解决我前面说的问题三,就是html自己网站内链自动转小程序内链,我写了一个正则替换.

          let html = res.data.data.info.content;
          let reg = /href\s?=\s?"((\.|\.\.\/\.\.|https:\/\/www\.yge\.me)\/show\/(\d+)\.html)"/g;
          //console.log(html);
          html=html.replace(reg,function($,$1,$2,$3){  
            return 'href="../detail/detail?id='+ $3 + '"';
         });

这样,原来我web的博文内链引用,会自动变成小程序链接 类似 ../detail/detail?id=72

测试过程发现一个问题.

小程序先打开A博文,A博文有图片. 通过内链, 通过内链跳转到B博文. 点开(放大)B博文的图片, 显示的却是A博文的图片.

A博文,

数据库ID:73 我小程序页面pages/detail/detail?id=73 HTML内容:

<p>为了不覆盖官方文件,做了这个补丁包,以及启动器.<\/p>\r\n<p>顺便兼容了下之前我做的16人补丁.实现自由切换.多版本共存.<\/p>\r\n<p>而且更新也互相独立.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>我自己开服大致测试了.<\/p>\r\n<p>1,RDA开服,普通客户端和RDA客户端都可以进入.<\/p>\r\n<p>2,官方开服,普通客户端和RDA客户端都能进入.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>可能测试不够详细,有条件大家可以试试.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>下载<\/h2>\r\n<p>&nbsp;<\/p>\r\n<h3>链接一(推荐)<\/h3>\r\n<p>更新日期:2020-08-17<\/p>\r\n<p><a href=\"https:\/\/pan.baidu.com\/s\/1rl2HZxQlP1n4-wzHbQseww%20\" target=\"_blank\" rel=\"noopener\">https:\/\/pan.baidu.com\/s\/1rl2HZxQlP1n4-wzHbQseww <\/a><\/p>\r\n<p>提取码: gudz<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>链接二<\/h3>\r\n<p>更新日期:2020-03-32(可能未更新)<\/p>\r\n<p><a href=\"https:\/\/1drv.ms\/u\/s!AokI_Iyj4GXFhKgebAErJfYEN9Gyuw?e=zQ3Iri\">https:\/\/1drv.ms\/u\/s!AokI_Iyj4GXFhKgebAErJfYEN9Gyuw?e=zQ3Iri<\/a><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>两个链接,文件一模一样.根据网络条件自己选.<\/p>\r\n<p>链接一不过更新了RDA新版文件.<\/p>\r\n<p>因为国内最近打不开OneDrive,所以我不确定文件是否更新了.<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>文件说明<\/h3>\r\n<p><strong>16player.7z<\/strong> &nbsp; --&gt;&nbsp; 16人补丁版 (含客户端\/服务端)<\/p>\r\n<p><strong>rda.7z<\/strong> &nbsp;&nbsp; --&gt; RDA补丁版 (含客户端\/服务端)<\/p>\r\n<p><strong>start.7z<\/strong>&nbsp; --&gt;&nbsp; 启动器(仅客户端)<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"color: #e67e23;\">可同时下载.都兼容.<\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>可单独下一个RDA补丁+&nbsp; 一个启动器<\/p>\r\n<p>也可以单下一个16玩家补丁 + 一个启动器.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>当然你也可以仅下一个启动器,不过没啥意义.<\/p>\r\n<p>也可以单下游戏补丁包启动器也不是必须的.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>补丁说明<\/h2>\r\n<h3>RDA<\/h3>\r\n<p>全称 RD Advanced,一个真大神编译的版本,对官方版本做了一些调整.<\/p>\r\n<p>比如,服务端增加了 所有玩家死了之后自动重启任务选项,<\/p>\r\n<p>比如,客户端增加 选武器界面调整选项<\/p>\r\n<p>等等等等,大量调整.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>(你要问我4FUN怪多卡不卡,怪多会不会奔溃,我可能会告诉你和官方版本区别不大,当然也有可能是我电脑.网络环境的因素,我最近游戏少没做详细测试.)<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>开发者项目页面 (作者:<span class=\"actual_persona_name\">Orange<\/span>) --&gt; <a href=\"https:\/\/sites.google.com\/view\/rdadv\" target=\"_blank\" rel=\"noopener\">https:\/\/sites.google.com\/view\/rdadv<\/a> (需代理)<\/p>\r\n<p>中文介绍(作者:<span class=\"actual_persona_name\">AutoGavy<\/span>) --&gt; <a href=\"https:\/\/steamcommunity.com\/sharedfiles\/filedetails\/?id=1926741904\" target=\"_blank\" rel=\"noopener\">https:\/\/steamcommunity.com\/sharedfiles\/filedetails\/?id=1926741904<\/a><\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>16人补丁<\/h3>\r\n<p>这个就是我之前做的16人补丁啦.<\/p>\r\n<p>链接 --&gt; [<a href=\"https:\/\/www.yge.me\/show\/45.html\" target=\"_blank\" rel=\"noopener\">AS:RD 16人同时游戏补丁【客户端\/服务端】<\/a>]<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>启动器<\/h3>\r\n<p>这个不是必须.主要是用于启动切换\/自动切换<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"https:\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/l8V*4kN5EKtnl2fKnrChMJ7iLsTXumkVF79pWC*hwJWUc6sTQw8nYohkg2pDPzOHNBkjBSwRTChqtZ3O62GyYQ!!\/mnull&amp;bo=HAHhARwB4QERCT4!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"284\" height=\"481\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>安装<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>打包的文件,里面文件,目录我都一一对应了,实际上直接,解压到游戏目录即可.<\/p>\r\n<p>非常简单.<\/p>\r\n<p>按16人补丁举例<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"https:\/\/r.photo.store.qq.com\/psb?\/V13iVwZo2obvUj\/Rq.G4NVZN.UlFSzjvVNMFFEaVUmcdbkyPGbCre9j5Uw!\/r\/dLYAAAAAAAAAnull\/_yake_qzoneimgout.png\" alt=\"\" width=\"554\" height=\"409\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>如果补丁包都安装了,.大概是这样.<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/l8V*4kN5EKtnl2fKnrChMEzukKH1Oi48CyTWNDY5ua5XM9oujYE5d6Cbb7gPiNzt4I8WhUFv6q7JyFwbev8HKQ!!\/mnull&amp;bo=ygI6AsoCOgIRCT4!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"714\" height=\"570\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>使用<\/h2>\r\n<p>&nbsp;<\/p>\r\n<h3>客户端用户<\/h3>\r\n<p>&nbsp;<\/p>\r\n<p>客户端推荐用启动器.可以切换版本.<\/p>\r\n<p>1,方式一, 将start.exe启动器进程创建一个桌面快捷方式. 通过这个启动选择运行游戏版本. (<span style=\"color: #843fa1;\">不推荐<\/span>)<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/l8V*4kN5EKtnl2fKnrChMJ7iLsTXumkVF79pWC*hwJWUc6sTQw8nYohkg2pDPzOHNBkjBSwRTChqtZ3O62GyYQ!!\/mnull&amp;bo=HAHhARwB4QERCT4!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"284\" height=\"481\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>2,方式二,将不同补丁的客户端进程,放桌面快捷方式,需要玩啥版本就运行啥版本客户端.(<span style=\"color: #b96ad9;\">不推荐<\/span>)<\/p>\r\n<p>asrd_Y.A.K.E_rda.exe&nbsp; --&gt;&nbsp; RDA版 客户端程序<\/p>\r\n<p>asrd_yake_16.exe&nbsp;&nbsp; --&gt;&nbsp; 16人版客户端.<\/p>\r\n<p>reactivedrop.exe&nbsp; --&gt; AS:RD官方客户端.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>3,方式三,启动器切换(<span style=\"color: #ba372a;\">推荐<\/span>)<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>装了启动器的用户,在steam游戏库--Alien Swarm Reactive Drop(右键)--属性--常规--设置启动选项<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/l8V*4kN5EKtnl2fKnrChMGRLRaBozM9Ay9XLRawPfyUQ1fj16m*eI5ts3wXz.DXPLBRdpV0lD45FjXMYCm6Kmg!!\/mnull&amp;bo=NwNDAjcDQwIRCT4!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"823\" height=\"579\" \/><\/p>\r\n<p>可以有下面三个选项,<strong>三选一<\/strong>.<\/p>\r\n<p><strong>-gui<\/strong><\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置并保存后,&nbsp; 运行游戏--&gt;自动切换成启动器(参考前面方法1的图片),让你手动选一个版本.<\/p>\r\n<p><strong>-b16<\/strong><\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置并保存后,&nbsp; 运行游戏--&gt;自动切换成16人版本客户端.(如果有安装16人补丁)<\/p>\r\n<p><strong>-rda<br \/><\/strong><\/p>\r\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置并保存后,&nbsp; 运行游戏--&gt;自动切换成RDA客户端.(如果有安装RDA补丁), 适合长玩RDA用户.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><strong>不加任何参数,就是直接运行官方AS:RD客户端程序.<\/strong><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>开服务器用户<\/h3>\r\n<p>服务器进程不支持启动器切换.<\/p>\r\n<p>开服方法都是和官方一样.就是进程名字不一样.其他无需解释,你懂的.<\/p>\r\n<p>srcds_rda.exe&nbsp; -&gt; RDA开服进程<\/p>\r\n<p>srcds_16.exe&nbsp; -&gt; 16人开服进程<\/p>\r\n<p>srcds.exe&nbsp; -&gt; AS:RD官方开服进程<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>补丁更新说明<\/h2>\r\n<h3>官方更新<\/h3>\r\n<p>如何官方版本更新都不会覆盖补丁包自由升级更新,无需处理.<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>RDA更新<\/h3>\r\n<p>那么下载3个DLL后,直接覆盖<\/p>\r\n<p>&nbsp; <span style=\"color: #e67e23;\">游戏目录\\reactivedrop\\<strong>rda<\/strong>\\<\/span><\/p>\r\n<p>这个文件夹.<\/p>\r\n<p>注意,目录是rda目录<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h3>16人补丁更新<\/h3>\r\n<p>如果更新是放入<\/p>\r\n<p><span style=\"color: #e67e23;\">&nbsp;&nbsp;&nbsp;&nbsp; 游戏目录\\reactivedrop\\<strong>b16<\/strong>\\<\/span><\/p>\r\n<p>不过暂时不会更新了.<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>工作原理图<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psc?\/V13iVwZo2obvUj\/r5r.jW0JZFmFKdRYe5qoxgDMGq1ShuNdkVO9PJexIK00Z4thMLGf6yLIVfNcgPNSveIOGSjNVLF*tE*Nyq68LbrBdV2hGjUdxmsQ9dqDMn4!\/mnull&amp;bo=OwOqAjsDqgIBCS4!&amp;rf=photolist&amp;t=5\/r\/_yake_qzoneimgout.png\" alt=\"\" width=\"827\" height=\"682\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>

b博文

数据库ID:73 我小程序页面pages/detail/detail?id=45 HTML内容:

<h2>运行测试图<\/h2>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psb?\/V13iVwZo2obvUj\/*7P*Ubd2.8OqGze07k80S51H0TLtyl6Tg27l817xzJg!\/r\/dFQBAAAAAAAAnull\/_yake_qzoneimgout.png\" alt=\"\" width=\"936\" height=\"667\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>补丁使用方法<\/h2>\r\n<p>下载解压到游戏目录,注意对应文件和目录位置(不会覆盖任何游戏文件)<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><img src=\"\/\/r.photo.store.qq.com\/psb?\/V13iVwZo2obvUj\/Rq.G4NVZN.UlFSzjvVNMFFEaVUmcdbkyPGbCre9j5Uw!\/r\/dLYAAAAAAAAAnull\/_yake_qzoneimgout.png\" alt=\"\" width=\"554\" height=\"409\" \/><\/p>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"color: #ff0000;\">运行 【asrd_yake_16.exe】 就是 运行16人客户端,可以将这个程序发送桌面快捷方式。<\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"color: #00ff00;\">如果通过steam启动as:rd 那么运行是原版客户端。<\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>文件说明<\/h2>\r\n<p>asrd_yake_16.exe 为16人客户端<\/p>\r\n<p>srcds_16.exe&nbsp; 为16人专用服务端 (开服务器玩家才需要)<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>特别说明<\/h2>\r\n<p><span style=\"color: #ff0000;\">1, 16人客户端只能进16人服务器\/主机 。 原版客户端只能进原版客户端\/主机。 不会自动识别。<\/span><\/p>\r\n<p>2, 本版本为先行测试版,bug慢慢修复。<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>已知bug<\/h2>\r\n<p>1,只有前8个角色的装备会保留,后8个角色每次回到大厅会恢复默认装备(调试4天,暂时没找到哪里问题)<\/p>\r\n<p>2, 如果选了超过8个角色的情况,按F9投票有一定概率会客户端奔溃。(谁按谁奔溃,不影响其他人)<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"color: #ff9900;\">建议换地图 使用控制台命令 换地图.<\/span><\/p>\r\n<pre>asw_vote_chooser map<\/pre>\r\n<p>可以将这个命令绑定快捷键,比如F10<\/p>\r\n<p>bind F10 \"asw_vote_chooser map;\"<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>这些bug可能都是数组越界引起的,源代码太复杂,而且我又太懂擅长vc++。。我还在慢慢修复<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>开服务器说明<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p>只需要将原来bat文件里面内容 srcds.exe 替换 --&gt; srcds_16.exe 即可。<\/p>\r\n<p>服务器带的动的话, 你可以一个bat运行原版\/一个bat运行16人版。<\/p>\r\n<p>&nbsp;<\/p>\r\n<h2>下载<\/h2>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"color: #ff0000;\">[最新]<\/span> 更新时间_2019\/10\/02<\/p>\r\n<p>链接: <a href=\"https:\/\/pan.baidu.com\/s\/1bhtGMCC2Km_9602KKfFuuA\" target=\"_blank\" rel=\"noopener\">https:\/\/pan.baidu.com\/s\/1bhtGMCC2Km_9602KKfFuuA <\/a><\/p>\r\n<p>提取码: wujd<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"text-decoration: line-through;\">更新时间_2019\/10\/02<\/span><\/p>\r\n<p><span style=\"text-decoration: line-through;\">链接: <a href=\"https:\/\/pan.baidu.com\/s\/1DVuRN9aQitxQ_R_8GRVMpA\" target=\"_blank\" rel=\"noopener\">https:\/\/pan.baidu.com\/s\/1DVuRN9aQitxQ_R_8GRVMpA <\/a><\/span><\/p>\r\n<p><span style=\"text-decoration: line-through;\">提取码: kddc<\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<p><span style=\"text-decoration: line-through;\">更新时间_2019\/10\/01<\/span><\/p>\r\n<p><span style=\"text-decoration: line-through;\">链接: <a href=\"https:\/\/pan.baidu.com\/s\/1XCVkHMG6O1lNRns9ecda5A\" target=\"_blank\" rel=\"noopener\">https:\/\/pan.baidu.com\/s\/1XCVkHMG6O1lNRns9ecda5A <\/a><\/span><\/p>\r\n<p><span style=\"text-decoration: line-through;\">提取码: jrxh<\/span><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>

跳转方式是 通过A连接跳转的.或者navigator标签都会.

我弄了一个临时解决方案,只能说暂时解决这个问题,但是,有没有未知问题不清楚. components\wxParse\wxParse.js 在

methods: {
_parseHtml(html, bindName) {
    bindInstance.clear();  //添加

}

我点开几个页面,图片就不会穿越了.

csonchen commented 3 years ago

你提一个pr给我看一下?小程序的内外链判断的依据是http字符,我当时写的比较简单 @Y-A-K-E

Y-A-K-E commented 3 years ago

你提一个pr给我看一下?小程序的内外链判断的依据是http字符,我当时写的比较简单 @Y-A-K-E

github我不怎么会用呢.

不过为了大佬方便看到我遇到的问题, 我做了一个小程序代码片段.大佬你看看. https://developers.weixin.qq.com/s/kO4NZ6m376mC

有我自己,web博文内链转小程序内链(仅适用我自己.) 还有上面说的标签前面有尖括号的,无法解析演示. 还有上面说的, 内链跳转,图片放大是错的演示.(第一个有图片的博文是正常的.跳转到第二个博文图片放大显示的却是第一个博文的图片)

Y-A-K-E commented 3 years ago

@Y-A-K-E 我大概知道问题在哪里了,但是你这段文本的换行符太多了,大致修复之后效果如下 image

大佬这里还有点问题.就是你测试的这段代码. c语言的头文件是尖括号包起来的. web上会正常显示,但是小程序解析丢了.

QQ截图20201202155717

csonchen commented 3 years ago

@Y-A-K-E 我大概知道问题在哪里了,但是你这段文本的换行符太多了,大致修复之后效果如下 image

大佬这里还有点问题.就是你测试的这段代码. c语言的头文件是尖括号包起来的. web上会正常显示,但是小程序解析丢了.

QQ截图20201202155717

code标签的解析确实存在问题,没有针对性地做解析,给我点时间修复一下

csonchen commented 3 years ago

@Y-A-K-E 可以给个联系方式吗,我加下你,跟你细聊一下