• 采集解析内容、字符串空格等处理笔记


    $str ='人民网  
    									3小时前
    ';
    $str1 = '拍照的阿步  
                                                    2019年08月09日 21:56
    ';
    

    输出到浏览器看到的是  ,当时就是替换不掉。需要使用如下正则

      $str = preg_replace("/(xc2xa0)/", " ", trim($str));
    

    上面的正则/(xc2xa0)/要copy,不要自己写

     /**
         * 解析作者&时间数据
         * @param $str
         * @return array
         */
        public static function doAuthorAndTime($str)
        {
            $str = str_replace(" ", ' ', trim($str));
            $str = preg_replace("/(xc2xa0)/", " ", trim($str));
            $str = preg_replace("/s+/", ' ', $str);
            $author = '';
            $release_time = '';
            if ($str) {
                $tmp_arr = explode(' ', $str);
                $author = trim($tmp_arr[0] ?? '');
                $release_time = trim(($tmp_arr[1] ?? '') . ($tmp_arr[2] ?? ''));
            }
            return [$author, $release_time];
        }
    
        /**
         * 去掉字符串的空格
         * @param $str
         * @return mixed|null|string|string[]
         */
        public static function stripSpacing($str)
        {
            $str = str_replace(" ", '', trim($str));
            $str = preg_replace("/(xc2xa0)/", '', trim($str));
            $str = preg_replace("/s+/", '', $str);
            return $str;
        }
    
        /**
         * 去除标签以及里面的内容
         * @param array $tags 标签 ['span','p']
         * @param string $str 处理的html内容
         * @return null|string|string[]
         */
        public static function stripHtmlTags($tags, $str)
        {
            $html = [];
            foreach ($tags as $tag) {
                $html[] = '/(<' . $tag . '.*?>[s|S]*?</' . $tag . '>)/';
            }
            return preg_replace($html, '', $str);
        }
    
        /**
         * 去掉内容注释
         * @param $content
         * @return string
         */
        public static function stripAnnotation($content)
        {
            return preg_replace('#<!--[^![]*?(?<!//)-->#', '', $content);
        }
    
  • 相关阅读:
    如何绕过chrome的弹窗拦截机制
    自我介绍
    注册页面的编写
    Roadmap学习目标
    Position
    poj2506 Tiling
    poj3278 Catch That Cow
    poj3624 Charm Bracelet
    钢条切割问题带你彻底理解动态规划
    poj1328 Radar Installation
  • 原文地址:https://www.cnblogs.com/zqsb/p/11382151.html
Copyright © 2020-2023  润新知