ホームページ >バックエンド開発 >PHPチュートリアル >PHPがHTMLを処理するときに文字列が切り詰められる問題の解決策

PHPがHTMLを処理するときに文字列が切り詰められる問題の解決策

WBOY
WBOYオリジナル
2016-06-13 12:04:431160ブラウズ

php が HTML を処理するとき、文字列の切り捨て

stream=fopen("xxx.html");<br />var str = '';<br />while(!feof(stream)<br />{<br />      size+=1024;<br />     str.=fread(stream,size);<br />}<br />....<br />


str は 1024 バイトしか取得できず、残りは切り捨てられますが、fread はそれを読み取ります。問題は .= を使用しているのでしょうか? HTML に切り捨ての原因となる特殊文字はありますか?
ありがとう、マスター
-----解決策---------
上記のコードだけですそれは機能しません、おそらく間違って書いた可能性があります
あなたが言及した HTML 内の特定の特殊文字については、存在すべきではありません
そして、あなたは HTML を読んでいるだけです、データは大きくないので、次のことをお勧めしますfile_get_contents () を使用すると、fread
よりもパフォーマンスが向上します------解決策---------
$stream=fopen("test.html","r");<br />$str = '';<br />$size=1024;<br />while(!feof($stream)){<br />	$tmp=fread($stream,$size);<br />	file_put_contents('d:/log.log',$tmp.PHP_EOL,FILE_APPEND);<br />	$str.=$tmp;<br />	$tmp='';<br />}<br />fclose($stream);<br />echo $str;

プログラムを実行し、log.log を開いて表示します。各行は各 while ループで読み取られたデータです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。