nodejs 如何刷选出文本中的所有中文?将一个html页面或者js文本的所有中文提取出来(并且去掉所有注释文本)?

nodejs 如何刷选出文本中的所有中文?将一个html页面或者js文本的所有中文提取出来(保留中文之间的任意字符,并且去掉所有注释文本),放到另外一个文本?

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>首页-我是一个可爱的小萝莉</title>
</head>

<body>
    <div id="div1">我是一个div,并且id='div1'</div>
    <div id="div2">我也是一个div,div2, 《书名=“嘻嘻嘻”》</div>
    <div class="hidden">
        你一定能看到我的
        <!-- 这里的我,你是看不到的啦 -->
    </div>
    <script type="text/javascript">
        // var getId = function(id) {
        //  return document.getElementById(id)
        // }
        /*这里是测试内容,真的!!*/
        document.getElementById = (function (func) {
            return function () {
                return func.apply(document, arguments)
            }
        })(document.getElementById)
        var getId = document.getElementById;
        console.log(getId('div1'))

        /*      var func = function(a, b, c) {
          'use strict';
          console.log(this)
          console.log(this === window)
        }
        func.apply(null, [1,2,3])*/

        /*  document.getElementById('div1').onclick = function() {
            var func =function() {
              console.log(this.id)
            }
            func.call(this)
          }*/


        Function.prototype.bind = function (context) {
            /*  var self = this;
              return function() {
                return self.apply(context, arguments)
              }*/

            var self = this,
                context = [].shift.call(arguments), // 提取出上下文
                args = [].slice.call(arguments); // 剩余参数转为数组

            console.log(context, arguments, args)
            return function () {
                // 结合两次的参数
                return self.apply(context, [].concat.call(args, [].slice.call(arguments)))
            }
        }

        var obj = {
            name: 'sven'
        }

        var func = function (a, b, c, d) {
            console.log(this.name)
            console.log([a, b, c, d])
        }.bind(obj, 1, 2)
        func(3, 4)

        /**
         * 欢迎大家加入我们的大家庭,你也看不到我的
         *
         * @param {*} [params=[]]
         */
        function HelloWord(params = []) {
            console.log('欢迎来到中国的大家庭:', ...params)
        }
    </script>
</body>

</html>
阅读 2.9k
1 个回答

不太明白你想获取中文是什么需求。如果你是想获取标签内的文本 你可以用cheerio。 真要获取中文你可以全转成Unicode 然后判断中文范围。去掉注释的话 还是要靠正则=-=.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏