Home > Backend Development > PHP Tutorial > php 处理html时,字符串截断

php 处理html时,字符串截断

WBOY
Release: 2016-06-23 13:51:38
Original
954 people have browsed it

stream=fopen("xxx.html");var str = '';while(!feof(stream){      size+=1024;     str.=fread(stream,size);}....
Copy after login


str只能获取1024个字节,后面的都比截断了,但是fread确实读取到了,是不是用.=出了问题,还是html里面有特殊字符导致截断?
谢谢大神


回复讨论(解决方案)

$stream=fopen("test.txt","a+");$str = '';$size=1024;while(!feof($stream)){	$str.=fread($stream,$size);}fclose($stream);echo $str;
Copy after login
Copy after login

$stream=fopen("test.txt","a+");$str = '';$size=1024;while(!feof($stream)){	$str.=fread($stream,$size);}fclose($stream);echo $str;
Copy after login
Copy after login


我读取的是html,跟读取模式应该没关系,有的页面可以抓取,有的页面抓取被截断,怀疑某个html标签的问题?谢谢

就你上面的代码而言,都不能运行,可能是你写错吧
至于你说的html的某个特殊字符,应该是不存在的
而且你只是读取一个html,数据不大,建议用file_get_contents(),性能比fread好

你那又不是 php 代码

就你上面的代码而言,都不能运行,可能是你写错吧
至于你说的html的某个特殊字符,应该是不存在的
而且你只是读取一个html,数据不大,建议用file_get_contents(),性能比fread好


恩,我乱写的,大概意思,刚开始改cms,php入门级。
您写的很对,但是我确实遇到问题了,调试的时候,每次while里面的fread都能读到数据,但是,加到字符串str里面后,str的长度变了,但是内容每增加,难道是调试的问题,调试的时候只能只能显示变量一部分?我改过xdebug的显示最大长度,没有效果,我用的vs.php调试的,怎么搞能显示全部。怎么搞能看到到底str存了多少,只见其长度增加,没见到内容变化

你用

$stream=fopen("test.html","r");$str = '';$size=1024;while(!feof($stream)){	$tmp=fread($stream,$size);	file_put_contents('d:/log.log',$tmp.PHP_EOL,FILE_APPEND);	$str.=$tmp;	$tmp='';}fclose($stream);echo $str;
Copy after login
Copy after login

运行程序,再打开log.log查看,每一行是每次while循环读取的数据

您那是什么代码?C么?

你用

$stream=fopen("test.html","r");$str = '';$size=1024;while(!feof($stream)){	$tmp=fread($stream,$size);	file_put_contents('d:/log.log',$tmp.PHP_EOL,FILE_APPEND);	$str.=$tmp;	$tmp='';}fclose($stream);echo $str;
Copy after login
Copy after login

运行程序,再打开log.log查看,每一行是每次while循环读取的数据


好的,我试试,好人啊,
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template