Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php EDGAR.txt文件的HTML呈现_Php_Html_Xml_Edgar - Fatal编程技术网

Php EDGAR.txt文件的HTML呈现

Php EDGAR.txt文件的HTML呈现,php,html,xml,edgar,Php,Html,Xml,Edgar,目前,我正在从事一个项目,其中一个PHP脚本从中获取一个索引文件,并将所有公司信息放入数据库。然后,第二个PHP脚本从SEC获取原始文本文件,并将其保存在本地以供处理 可在此处找到原始文本文件的示例- 最终结果的示例如下所示: 我们的目标是能够像许多公司一样,以格式化的方式提交文件,但问题是我似乎无法弄清楚如何可靠地为每个文件提交文件。一些文件似乎有XML,其他文件似乎有HTML 我如何能够可靠地生成原始文本文件的格式化版本 我的现行守则— $db_hostname = "localhost

目前,我正在从事一个项目,其中一个PHP脚本从中获取一个索引文件,并将所有公司信息放入数据库。然后,第二个PHP脚本从SEC获取原始文本文件,并将其保存在本地以供处理

可在此处找到原始文本文件的示例-

最终结果的示例如下所示:

我们的目标是能够像许多公司一样,以格式化的方式提交文件,但问题是我似乎无法弄清楚如何可靠地为每个文件提交文件。一些文件似乎有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");
$db\u hostname=“localhost”;
$db_username=“username”;
$db_password=“password”;
$db_database=“database”;
$db\u server=mysql\u connect($db\u主机名,$db\u用户名,$db\u密码);
如果(!$db_server)死亡(“无法连接到MySQL:.MySQL_error());
mysql\u选择\u数据库($db\u数据库)
或者死(“无法选择数据库:.mysql_error());
$query=“从公司选择*,其中公司='1800 FLOWERS COM INC',日期='2015-08-06';
$result=mysql\u query($query);
$row=mysql\u fetch\u row($result);
$file=”ftp://ftp.sec.gov/" . $第[4]行;
$text=文件\获取\内容($file);
如果($text==false){
echo“下载文件$row[4]\n时出错”;
继续;
}
$tarray=爆炸(“”,$text);
对于($i=1;$i

?>

您不需要使用原始文本文件。您可以使用
sec api
()。该软件包使用websockets向sec.gov EDGAR提供了一个实时通道——它与客户端(React、React Native、Angular、Vue等)和服务器端(Node.js等)JavaScript一起工作

在EDGAR上发布新文件(10K、10Q、13D等)后,软件包立即触发事件,并以JSON格式返回以下数据:

{
  "companyName":"MORGAN STANLEY (0000895421) (Filer)",
  "type":"424B2",
  "description":"FORM 424B2",
  "linkToFilingDetails":"https://www.sec.gov/...014988-index.htm",
  "linkToHtmlAnnouncement":"https://www.sec.gov/...268.htm",
  "announcedAt":"2018-12-26T16:02:32-05:00"
}
linkToFilingDetails
指向列出文件所有附件的HTML文件。
linkToHtmlAnnouncement
指向文件本身的HTML文件

PHP与支持WebSocket的插件(如Ratchet)结合使用也可以使用

例如:


我开发了这个工具。如果您有任何反馈,请告诉我,我很乐意添加功能。

您能提供一些代码吗?Stack Overflow是帮助您回答明确的问题,而不是博客形式的讨论。我已经添加了代码。目前,它以HTML格式处理文档的各个部分,但如果有图像或XML元素,它将完全忽略它们。感谢您的回复和努力。我将删除我的评论。我希望你的问题能及时得到解决