首页
Search
1
朋友圈又被财神占领
7 阅读
2
入手慈云香港BGP云服务器
7 阅读
3
淘宝的客服真业余
5 阅读
4
意外险变相涨价
4 阅读
5
老郭玩域名之第一次出售域名
4 阅读
网络
数码
家居
购物
金融
汽车
旅游
健康
游戏
通信
美食
娱乐
教育
登录
找到
3
篇与
错误
相关的结果
2023-12-12
解决Simple Blog Stats插件字数统计错误的问题
本文于2024年11月26日修改,修改部分以红色表示。 自从解决了每篇文章字数统计的问题之后,老郭就想着有没有什么办法可以统计整个博客的字数。网上推荐的比较多的是使用Simple Blog Stats插件,很轻巧但是统计功能很强大,于是老郭就按照了一个。但是安装好了之后问题出现了,按照这个插件的统计,老郭博客一共只有16000多个字,这显然是不正确的,老郭已经发了120多篇文章了,如果按照这个数字,那平均每篇文章才100多个字。 但是关于这个插件字数统计错误的问题,网上似乎很少有人提到,更不要说解决的办法了,老郭只能自己摸索了。老郭在插件文件编辑器中打开Simple Blog Stats插件的simple-blog-stats.php文件,在大概第809行的位置找到了有关整个博客字数统计的注释:// number of words all post。然后在注释下面第851行和第871行的位置发现了问题,这里使用的函数是str_word_count($content, 0),而str_word_count函数是用来统计单词数量的,用这个函数来统计中文字数,那出现差错也就是在所难免的了。 于是老郭对851行和871行进行了修改,将str_word_count函数换成了mb_strlen函数。 $count += mb_strlen(preg_replace('/s/','',html_entity_decode(strip_tags($post->post_content))),'UTF-8') 以上代码在统计字数的时候,如果遇到文章中有代码,会把代码也统计进去,导致文章字数统计不准确。为避免此问题,将“// number of words all post”下面一段有关字数统计的代码替换成以下的: function sbs_word_count_all($wrap) { $disable = apply_filters('sbs_word_count_all_disable', false); if ($disable) return; global $sbs_options; $cache = isset($sbs_options['sbs_enable_cache']) ? $sbs_options['sbs_enable_cache'] : false; $limit = apply_filters('sbs_get_posts_limit', -1); $post_type = apply_filters('sbs_word_count_all_post_type', 'any'); $args = array( 'post_type' => $post_type, 'post_status' => 'publish', 'posts_per_page' => $limit, 'fields' => 'ids', ); $posts = get_posts($args); if (!$posts) return; if ($cache) { if (false === ($count = get_transient('sbs_word_count'))) { $count = 0; foreach ($posts as $id) { $post = get_post($id); $content = isset($post->post_content) ? $post->post_content : null; // 去除短代码 [sbs_word_count] 和 HTML 标签 $content = preg_replace('/(\[sbs_word_count(.*)\])/', '', $content); // 去除代码块(匹配 <code> 和 <pre> 标签,以及 Markdown 代码块) $content = preg_replace('/<pre.*?>.*?<\/pre>|<code.*?>.*?<\/code>|```.*?```/is', '', $content); $content = strip_tags($content); // 去除 HTML 标签 // 统计汉字字符数 $chinese_count = mb_strlen(preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $content), 'UTF-8'); // 统计英文单词数及标点符号 preg_match_all('/[a-zA-Z0-9]+|[[:punct:]]/u', $content, $matches); $english_count = count($matches[0]); $count += $chinese_count + $english_count; } set_transient('sbs_word_count', number_format(floatval($count)), 12 * HOUR_IN_SECONDS); } } else { $count = 0; foreach ($posts as $id) { $post = get_post($id); $content = isset($post->post_content) ? $post->post_content : null; // 去除短代码 [sbs_word_count] 和 HTML 标签 $content = preg_replace('/(\[sbs_word_count(.*)\])/', '', $content); // 去除代码块(匹配 <code> 和 <pre> 标签,以及 Markdown 代码块) $content = preg_replace('/<pre.*?>.*?<\/pre>|<code.*?>.*?<\/code>|```.*?```/is', '', $content); $content = strip_tags($content); // 去除 HTML 标签 // 统计汉字字符数 $chinese_count = mb_strlen(preg_replace('/[^\x{4e00}-\x{9fa5}]/u', '', $content), 'UTF-8'); // 统计英文单词数及标点符号 preg_match_all('/[a-zA-Z0-9]+|[[:punct:]]/u', $content, $matches); $english_count = count($matches[0]); $count += $chinese_count + $english_count; } } wp_reset_postdata(); $count = is_int($count) ? $count : 0; $output = number_format($count); $output = ($wrap) ? $sbs_options['count_words_all_before'] . $output . $sbs_options['count_words_all_after'] : $output; return $output; } add_shortcode('sbs_word_count_all', 'sbs_word_count_all'); 重新刷新博客后台,老郭发现字数统计已经变成正确的了,问题得到了解决。
网络
# 错误
# 插件
# 字数
老郭
2年前
0
1
0
2023-12-11
薅羊毛有时需要“高抬贵手”
昨天,天猫某机顶盒旗舰店又爆出价格大漏洞,由于价格设置错误,原价100多元的机顶盒,叠加各种优惠之后最终实付不到3块钱。无数羊毛党得到消息之后蜂拥而入,预计下单量达到数千单,商家的预估损失达到了几十万元。 其实老郭也是在第一时间就获悉了这个消息,但老郭并没有加入其中去薅这个羊毛。因为按照老郭以往的经验来说,对于这种新开的不知名的店铺来说,这种级别的错误,发货就意味着损失高达数十万元,所以发货是绝对不可能的,最后的结果一般来说都是放弃保证金,然后关店走人。 果然几个小时之后,该店铺贴出公告,由于价格设置错误,店铺无力承担,请求大家退单,店铺将会关闭。换言之,这次薅羊毛的基本算是翻车了,顶多只能拿到一点赔偿金,而且还要看保证金够不够赔。 价格设置错误导致巨额损失的情况并不鲜见,老郭就遇到过好几次,一开始老郭还有兴趣去薅,但基本上都不发货,所以久而久之,遇到这种价格设置错误的羊毛,老郭都懒得去看了。而且从法律的角度来说,价格设置错误属于重大误解,卖家是可以无条件解除合同的,所以薅这种羊毛并不受法律的保护。另外从人情的角度来说,对于卖家特别是规模很小的卖家来说,出现价格设置错误,即使不发货也会面临着很大的损失,最起码保证金没有了。所以,老郭认为,如果确实是因为价格设置错误而出现的羊毛,最好不要去凑热闹,如果非要参与,那遇到卖家不发货的情况,也应该“高抬贵手”,拿点赔偿就算了。 老郭之前曾经薅过一个电水壶,因为卖家价格设置错误,原价60多的打完折只要7块钱。卖家也是请求大家退款,老郭也同意了,甚至连赔偿金都没要。 这种价格设置错误的情况一般只会出现在小商家中,而大的商家由于有足够的运营团队,一般很难出现这种羊毛的。但是,一旦出现了,大的商家出于商业信誉的考虑,有的时候是会认下这些损失的。比如11月8号,南方航空就因为设置的问题,出现过超低价机票的情况,很多原价一两千的机票只要十元就能买到,不少人下了单,最终南航全部予以认可。
购物
# 错误
# 价格
# 薅羊毛
# 退款
老郭
2年前
0
0
0
2023-06-18
PHP版本过低导致typecho安装报错
老郭手上还有个美国的VPS没过期,觉得放那吃灰不如用来折腾折腾,而且里面的宝塔面板什么的都是已经配置好了的,于是决定在上面安装一个typecho来玩玩。 Typecho是一个轻量的博客程序,老郭以前也安装过,过程很简单。不过这次在VPS上安装却出现了意外,运行安装程序提示Parse error: syntax error, unexpected ':', expecting '{' in /www/wwwroot/100825.xyz/install.php on line 31错误,应该是程序编译有问题。 这个问题以前老郭从来没有遇到过,而且typecho用的人非常多,按理说可以排除是程序本身的问题。所以老郭对这个VPS上的运行环境进行了自己的检查,最后发现VPS上安装的PHP版本竟然是非常低的5.5版。 重新安装PHP8.0版,然后切换到新版本运行,typecho终于可以正常安装了。 老郭回忆了一下,当时之所以在这个VPS上安装5.5版的PHP,是因为有一个老博客只能运行在此版本的环境中,只要PHP的版本超过5.6,程序就各种报错。后来博客搬走了,但环境一直没有变过,所以导致此次安装typecho出现了问题。
网络
# 版本
# PHP
# typecho
# 错误
老郭
2年前
0
1
0