Heim > Backend-Entwicklung > PHP-Tutorial > php 处理html时,字符串截断

php 处理html时,字符串截断

WBOY
Freigeben: 2016-06-23 13:51:38
Original
949 Leute haben es durchsucht

stream=fopen("xxx.html");var str = '';while(!feof(stream){      size+=1024;     str.=fread(stream,size);}....
Nach dem Login kopieren


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


回复讨论(解决方案)

$stream=fopen("test.txt","a+");$str = '';$size=1024;while(!feof($stream)){	$str.=fread($stream,$size);}fclose($stream);echo $str;
Nach dem Login kopieren
Nach dem Login kopieren

$stream=fopen("test.txt","a+");$str = '';$size=1024;while(!feof($stream)){	$str.=fread($stream,$size);}fclose($stream);echo $str;
Nach dem Login kopieren
Nach dem Login kopieren


我读取的是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;
Nach dem Login kopieren
Nach dem Login kopieren

运行程序,再打开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;
Nach dem Login kopieren
Nach dem Login kopieren

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


好的,我试试,好人啊,
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage