現在、私は 1 つの PHP スクリプトがftp://ftp.sec.govからインデックス ファイルを取得し、すべての会社情報をデータベースに配置するプロジェクトに取り組んでいます。次に、2 番目の PHP スクリプトが SEC から未加工のテキスト ファイルを取得し、処理のためにローカルに保存します。
生のテキスト ファイルの例は、ここにあります -
ftp://ftp.sec.gov/edgar/data/2488/0000002488-15-000028.txt
最終結果がどうあるべきかの例は、ここにあります - http://www.sec.gov/Archives/edgar/data/1084869/000143774915020024/flws20150927_10q.htm
目標は、多くの企業が行うように、ファイリングをフォーマットされた方法で提示できるようにすることですが、問題は、すべてのファイリングに対して確実に行う方法を理解できないように見えることです. XML を使用しているように見えるファイリングもあれば、HTML を使用しているように見えるファイリングもあります。
生のテキスト ファイルのフォーマットされたバージョンを確実に生成するにはどうすればよいですか?
私が持っている現在のコード -
$db_hostname = "localhost";
$db_username = "username";
$db_password = "password";
$db_database = "database";
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db($db_database)
or die("Unable to select database: " . mysql_error());
$query = "SELECT * FROM company WHERE company = '1 800 FLOWERS COM INC' AND date = '2015-08-06'";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
$file = "ftp://ftp.sec.gov/" . $row[4];
$text = file_get_contents($file);
if($text === false){
echo "error downloading file $row[4]\n";
continue;
}
$tarray = explode('<SEQUENCE>', $text);
for($i = 1; $i < count($tarray); $i++){
$a = strstr($tarray[$i], '<HTML>');
if($a == false)continue; //means that there is no html document in this sequence
$html = strstr($a, '</HTML>', true);
$html.="</HTML>";
$running = $running . $html;
}
$temp = "cache.htm";
file_put_contents($temp, $running);
$name = $row[0] . "-" . $row[3] . ".pdf";
$name = str_replace(' ', '_', $name);
//$content = file_get_contents($row[2] . "-" . $row[1] . ".htm");
exec("D://wkhtmltopdf/bin/wkhtmltopdf.exe $temp $name");
unlink($temp);
//echo($row[0] . " created");
?>