Closed aboutboy closed 3 years ago
用ord()查看一下ascll码
用ord()查看一下ascll码
ord()后是194
感觉可能是removeHead()导致的问题。。。
应该不是removeHead()导致的问题。不过我之前确实遇到不添加removeHead()和添加removeHead()会获取两个完全不一样的数据的情况(也就是说两个html的内容完全不一样,似乎变成了两个不同地址页面的数据)。
我试过,removeHead()后dump打印的数据中,是不包含那个特殊空格的。 因为页面是table,tr,td结构的,所以我下一步采用了: $title = $data->find('table:eq(2)')->find('tr:gt(0)')->map(function($row){ $row1['author'] = $row->find('td:eq(1)')->texts()->all(); $row1['title'] = $row->find('td:eq(2)')->texts()->all(); return $row1; }); 这样的方法。。这样获取到的结果再dump出来,就带了那个特殊空格。 不知道是为什么。
"title" => " 想念的星星不说话",比如这里,标题被加了一个空格。这个空格很奇怪,我用trim居然不能去除,只能复制后用str_replace。 增:也可以用$x['title'] = ltrim($v['title'][0],' ');这种方式去除这个字符。 这个符号我复制到notepad++里面,也搞不清具体是什么符号? 但实际上网页源码中被采集元素的开头是不带空格的。。 原文是这样:class="tooltip">想念的星星不说话 我的laravel版本是:5.8